From bab680ea27e1ce04c4014f15629db51a6119e46a Mon Sep 17 00:00:00 2001 From: "jose.rodriguezlabra" Date: Sun, 24 Mar 2019 12:11:12 -0400 Subject: [PATCH] Added bank to CPU9bits --- Bank_behav1.wcfg | 156 ++++++ lab2CA.cache/wt/webtalk_pa.xml | 75 +-- lab2CA.runs/.jobs/vrs_config_38.xml | 8 + lab2CA.runs/.jobs/vrs_config_39.xml | 8 + lab2CA.runs/.jobs/vrs_config_40.xml | 8 + lab2CA.runs/impl_1/CPU9bits.tcl | 150 ----- lab2CA.runs/impl_1/CPU9bits.vdi | 450 --------------- .../impl_1/CPU9bits_bus_skew_routed.pb | Bin 30 -> 0 bytes .../impl_1/CPU9bits_bus_skew_routed.rpt | 15 - .../CPU9bits_clock_utilization_routed.rpt | 154 ----- .../impl_1/CPU9bits_control_sets_placed.rpt | 65 --- lab2CA.runs/impl_1/CPU9bits_drc_opted.pb | Bin 37 -> 0 bytes lab2CA.runs/impl_1/CPU9bits_drc_opted.rpt | 61 -- lab2CA.runs/impl_1/CPU9bits_drc_routed.pb | Bin 37 -> 0 bytes lab2CA.runs/impl_1/CPU9bits_drc_routed.rpt | 61 -- lab2CA.runs/impl_1/CPU9bits_io_placed.rpt | 526 ------------------ .../impl_1/CPU9bits_methodology_drc_routed.pb | Bin 52 -> 0 bytes .../CPU9bits_methodology_drc_routed.rpt | 50 -- lab2CA.runs/impl_1/CPU9bits_opt.dcp | Bin 8284 -> 0 bytes lab2CA.runs/impl_1/CPU9bits_placed.dcp | Bin 122670 -> 0 bytes lab2CA.runs/impl_1/CPU9bits_power_routed.rpt | 146 ----- .../impl_1/CPU9bits_power_summary_routed.pb | Bin 722 -> 0 bytes lab2CA.runs/impl_1/CPU9bits_route_status.pb | Bin 43 -> 0 bytes lab2CA.runs/impl_1/CPU9bits_route_status.rpt | 11 - lab2CA.runs/impl_1/CPU9bits_routed.dcp | Bin 126053 -> 0 bytes .../impl_1/CPU9bits_timing_summary_routed.pb | 2 - .../impl_1/CPU9bits_timing_summary_routed.rpt | 173 ------ .../impl_1/CPU9bits_utilization_placed.pb | Bin 289 -> 0 bytes .../impl_1/CPU9bits_utilization_placed.rpt | 205 ------- lab2CA.runs/impl_1/gen_run.xml | 126 ----- lab2CA.runs/impl_1/htr.txt | 9 - lab2CA.runs/impl_1/init_design.pb | Bin 1622 -> 0 bytes lab2CA.runs/impl_1/opt_design.pb | Bin 10553 -> 0 bytes lab2CA.runs/impl_1/place_design.pb | Bin 11926 -> 0 bytes lab2CA.runs/impl_1/route_design.pb | Bin 12014 -> 0 bytes lab2CA.runs/impl_1/vivado.jou | 12 - lab2CA.runs/impl_1/vivado.pb | Bin 149 -> 0 bytes lab2CA.runs/synth_1/CPU9bits.dcp | Bin 7957 -> 8441 bytes lab2CA.runs/synth_1/CPU9bits.tcl | 24 +- lab2CA.runs/synth_1/CPU9bits.vds | 366 ++++++------ .../synth_1/CPU9bits_utilization_synth.pb | Bin 289 -> 289 bytes .../synth_1/CPU9bits_utilization_synth.rpt | 20 +- lab2CA.runs/synth_1/gen_run.xml | 7 +- lab2CA.runs/synth_1/vivado.jou | 10 +- lab2CA.runs/synth_1/vivado.pb | Bin 70660 -> 73425 bytes lab2CA.sim/sim_1/behav/xsim/webtalk.jou | 14 +- .../sim_1/behav/xsim/webtalk_3016.backup.jou | 12 - .../sim_1/behav/xsim/webtalk_42696.backup.jou | 12 + ...680.backup.jou => webtalk_4720.backup.jou} | 4 +- lab2CA.sim/sim_1/behav/xsim/xelab.pb | Bin 5592 -> 1267 bytes .../xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c | 122 ++-- .../webtalk/xsim_webtalk.tcl | 20 +- .../xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem | Bin 16912 -> 18061 bytes lab2CA.sim/sim_1/behav/xsim/xvlog.pb | Bin 8973 -> 16 bytes lab2CA.srcs/sources_1/new/CPU9bits.v | 38 +- lab2CA.srcs/sources_1/new/ControlUnit.v | 35 +- lab2CA.srcs/sources_1/new/dataMemory.v | 2 +- lab2CA.srcs/sources_1/new/instructionMemory.v | 19 +- lab2CA.xpr | 13 +- 59 files changed, 629 insertions(+), 2560 deletions(-) create mode 100644 Bank_behav1.wcfg create mode 100644 lab2CA.runs/.jobs/vrs_config_38.xml create mode 100644 lab2CA.runs/.jobs/vrs_config_39.xml create mode 100644 lab2CA.runs/.jobs/vrs_config_40.xml delete mode 100644 lab2CA.runs/impl_1/CPU9bits.tcl delete mode 100644 lab2CA.runs/impl_1/CPU9bits.vdi delete mode 100644 lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.pb delete mode 100644 lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.rpt delete mode 100644 lab2CA.runs/impl_1/CPU9bits_clock_utilization_routed.rpt delete mode 100644 lab2CA.runs/impl_1/CPU9bits_control_sets_placed.rpt delete mode 100644 lab2CA.runs/impl_1/CPU9bits_drc_opted.pb delete mode 100644 lab2CA.runs/impl_1/CPU9bits_drc_opted.rpt delete mode 100644 lab2CA.runs/impl_1/CPU9bits_drc_routed.pb delete mode 100644 lab2CA.runs/impl_1/CPU9bits_drc_routed.rpt delete mode 100644 lab2CA.runs/impl_1/CPU9bits_io_placed.rpt delete mode 100644 lab2CA.runs/impl_1/CPU9bits_methodology_drc_routed.pb delete mode 100644 lab2CA.runs/impl_1/CPU9bits_methodology_drc_routed.rpt delete mode 100644 lab2CA.runs/impl_1/CPU9bits_opt.dcp delete mode 100644 lab2CA.runs/impl_1/CPU9bits_placed.dcp delete mode 100644 lab2CA.runs/impl_1/CPU9bits_power_routed.rpt delete mode 100644 lab2CA.runs/impl_1/CPU9bits_power_summary_routed.pb delete mode 100644 lab2CA.runs/impl_1/CPU9bits_route_status.pb delete mode 100644 lab2CA.runs/impl_1/CPU9bits_route_status.rpt delete mode 100644 lab2CA.runs/impl_1/CPU9bits_routed.dcp delete mode 100644 lab2CA.runs/impl_1/CPU9bits_timing_summary_routed.pb delete mode 100644 lab2CA.runs/impl_1/CPU9bits_timing_summary_routed.rpt delete mode 100644 lab2CA.runs/impl_1/CPU9bits_utilization_placed.pb delete mode 100644 lab2CA.runs/impl_1/CPU9bits_utilization_placed.rpt delete mode 100644 lab2CA.runs/impl_1/gen_run.xml delete mode 100644 lab2CA.runs/impl_1/htr.txt delete mode 100644 lab2CA.runs/impl_1/init_design.pb delete mode 100644 lab2CA.runs/impl_1/opt_design.pb delete mode 100644 lab2CA.runs/impl_1/place_design.pb delete mode 100644 lab2CA.runs/impl_1/route_design.pb delete mode 100644 lab2CA.runs/impl_1/vivado.jou delete mode 100644 lab2CA.runs/impl_1/vivado.pb delete mode 100644 lab2CA.sim/sim_1/behav/xsim/webtalk_3016.backup.jou create mode 100644 lab2CA.sim/sim_1/behav/xsim/webtalk_42696.backup.jou rename lab2CA.sim/sim_1/behav/xsim/{webtalk_4680.backup.jou => webtalk_4720.backup.jou} (91%) diff --git a/Bank_behav1.wcfg b/Bank_behav1.wcfg new file mode 100644 index 0000000..234d01c --- /dev/null +++ b/Bank_behav1.wcfg @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + clk + clk + + + reset + reset + + + done + done + + + clk + clk + + + address[8:0] + address[8:0] + + + readData[8:0] + readData[8:0] + + + + enable + enable + + + write_index[1:0] + write_index[1:0] + + + op0[8:0] + op0[8:0] + + + op1[8:0] + op1[8:0] + + + r0_out[8:0] + r0_out[8:0] + + + r1_out[8:0] + r1_out[8:0] + + + r2_out[8:0] + r2_out[8:0] + + + r3_out[8:0] + r3_out[8:0] + + + enable + enable + + + write_index[1:0] + write_index[1:0] + + + op0_idx[1:0] + op0_idx[1:0] + + + write_data[8:0] + write_data[8:0] + + + op0[8:0] + op0[8:0] + + + r0_out[8:0] + r0_out[8:0] + + + r1_out[8:0] + r1_out[8:0] + + + r2_out[8:0] + r2_out[8:0] + + + r3_out[8:0] + r3_out[8:0] + + + AddrIn[8:0] + AddrIn[8:0] + + + AddrOut[8:0] + AddrOut[8:0] + + + progC_out[8:0] + progC_out[8:0] + + + result_m[8:0] + result_m[8:0] + + + A[8:0] + A[8:0] + + + B[8:0] + B[8:0] + + + Sum[8:0] + Sum[8:0] + + + addi + addi + + + A[2:0] + A[2:0] + + + B[8:0] + B[8:0] + + diff --git a/lab2CA.cache/wt/webtalk_pa.xml b/lab2CA.cache/wt/webtalk_pa.xml index 70e8278..b1b62fd 100644 --- a/lab2CA.cache/wt/webtalk_pa.xml +++ b/lab2CA.cache/wt/webtalk_pa.xml @@ -3,7 +3,7 @@ - +
@@ -26,16 +26,16 @@ This means code written to parse this file will need to be revisited each subseq - - + + - - + + @@ -43,8 +43,8 @@ This means code written to parse this file will need to be revisited each subseq - - + + @@ -52,26 +52,26 @@ This means code written to parse this file will need to be revisited each subseq - - - + + + - + - + - + - - + + - + @@ -79,16 +79,16 @@ This means code written to parse this file will need to be revisited each subseq - + - + - + @@ -98,8 +98,9 @@ This means code written to parse this file will need to be revisited each subseq - - + + + @@ -114,9 +115,10 @@ This means code written to parse this file will need to be revisited each subseq - + + - + @@ -124,10 +126,10 @@ This means code written to parse this file will need to be revisited each subseq - + - - + + @@ -137,35 +139,36 @@ This means code written to parse this file will need to be revisited each subseq - + - + - + + - - + + - + - + - + - + - +
diff --git a/lab2CA.runs/.jobs/vrs_config_38.xml b/lab2CA.runs/.jobs/vrs_config_38.xml new file mode 100644 index 0000000..99b94d7 --- /dev/null +++ b/lab2CA.runs/.jobs/vrs_config_38.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/lab2CA.runs/.jobs/vrs_config_39.xml b/lab2CA.runs/.jobs/vrs_config_39.xml new file mode 100644 index 0000000..99b94d7 --- /dev/null +++ b/lab2CA.runs/.jobs/vrs_config_39.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/lab2CA.runs/.jobs/vrs_config_40.xml b/lab2CA.runs/.jobs/vrs_config_40.xml new file mode 100644 index 0000000..99b94d7 --- /dev/null +++ b/lab2CA.runs/.jobs/vrs_config_40.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/lab2CA.runs/impl_1/CPU9bits.tcl b/lab2CA.runs/impl_1/CPU9bits.tcl deleted file mode 100644 index f9f06bc..0000000 --- a/lab2CA.runs/impl_1/CPU9bits.tcl +++ /dev/null @@ -1,150 +0,0 @@ -# -# Report generation script generated by Vivado -# - -proc create_report { reportName command } { - set status "." - append status $reportName ".fail" - if { [file exists $status] } { - eval file delete [glob $status] - } - send_msg_id runtcl-4 info "Executing : $command" - set retval [eval catch { $command } msg] - if { $retval != 0 } { - set fp [open $status w] - close $fp - send_msg_id runtcl-5 warning "$msg" - } -} -proc start_step { step } { - set stopFile ".stop.rst" - if {[file isfile .stop.rst]} { - puts "" - puts "*** Halting run - EA reset detected ***" - puts "" - puts "" - return -code error - } - set beginFile ".$step.begin.rst" - set platform "$::tcl_platform(platform)" - set user "$::tcl_platform(user)" - set pid [pid] - set host "" - if { [string equal $platform unix] } { - if { [info exist ::env(HOSTNAME)] } { - set host $::env(HOSTNAME) - } - } else { - if { [info exist ::env(COMPUTERNAME)] } { - set host $::env(COMPUTERNAME) - } - } - set ch [open $beginFile w] - puts $ch "" - puts $ch "" - puts $ch " " - puts $ch " " - puts $ch "" - close $ch -} - -proc end_step { step } { - set endFile ".$step.end.rst" - set ch [open $endFile w] - close $ch -} - -proc step_failed { step } { - set endFile ".$step.error.rst" - set ch [open $endFile w] - close $ch -} - - -start_step init_design -set ACTIVE_STEP init_design -set rc [catch { - create_msg_db init_design.pb - create_project -in_memory -part xc7k160tifbg484-2L - set_property design_mode GateLvl [current_fileset] - set_param project.singleFileAddWarning.threshold 0 - set_property webtalk.parent_dir C:/Users/ecelab/ECE3570-Lab/lab2CA.cache/wt [current_project] - set_property parent.project_path C:/Users/ecelab/ECE3570-Lab/lab2CA.xpr [current_project] - set_property ip_output_repo C:/Users/ecelab/ECE3570-Lab/lab2CA.cache/ip [current_project] - set_property ip_cache_permissions {read write} [current_project] - add_files -quiet C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1/CPU9bits.dcp - link_design -top CPU9bits -part xc7k160tifbg484-2L - close_msg_db -file init_design.pb -} RESULT] -if {$rc} { - step_failed init_design - return -code error $RESULT -} else { - end_step init_design - unset ACTIVE_STEP -} - -start_step opt_design -set ACTIVE_STEP opt_design -set rc [catch { - create_msg_db opt_design.pb - opt_design - write_checkpoint -force CPU9bits_opt.dcp - create_report "impl_1_opt_report_drc_0" "report_drc -file CPU9bits_drc_opted.rpt -pb CPU9bits_drc_opted.pb -rpx CPU9bits_drc_opted.rpx" - close_msg_db -file opt_design.pb -} RESULT] -if {$rc} { - step_failed opt_design - return -code error $RESULT -} else { - end_step opt_design - unset ACTIVE_STEP -} - -start_step place_design -set ACTIVE_STEP place_design -set rc [catch { - create_msg_db place_design.pb - if { [llength [get_debug_cores -quiet] ] > 0 } { - implement_debug_core - } - place_design - write_checkpoint -force CPU9bits_placed.dcp - create_report "impl_1_place_report_io_0" "report_io -file CPU9bits_io_placed.rpt" - create_report "impl_1_place_report_utilization_0" "report_utilization -file CPU9bits_utilization_placed.rpt -pb CPU9bits_utilization_placed.pb" - create_report "impl_1_place_report_control_sets_0" "report_control_sets -verbose -file CPU9bits_control_sets_placed.rpt" - close_msg_db -file place_design.pb -} RESULT] -if {$rc} { - step_failed place_design - return -code error $RESULT -} else { - end_step place_design - unset ACTIVE_STEP -} - -start_step route_design -set ACTIVE_STEP route_design -set rc [catch { - create_msg_db route_design.pb - route_design - write_checkpoint -force CPU9bits_routed.dcp - create_report "impl_1_route_report_drc_0" "report_drc -file CPU9bits_drc_routed.rpt -pb CPU9bits_drc_routed.pb -rpx CPU9bits_drc_routed.rpx" - create_report "impl_1_route_report_methodology_0" "report_methodology -file CPU9bits_methodology_drc_routed.rpt -pb CPU9bits_methodology_drc_routed.pb -rpx CPU9bits_methodology_drc_routed.rpx" - create_report "impl_1_route_report_power_0" "report_power -file CPU9bits_power_routed.rpt -pb CPU9bits_power_summary_routed.pb -rpx CPU9bits_power_routed.rpx" - create_report "impl_1_route_report_route_status_0" "report_route_status -file CPU9bits_route_status.rpt -pb CPU9bits_route_status.pb" - create_report "impl_1_route_report_timing_summary_0" "report_timing_summary -max_paths 10 -file CPU9bits_timing_summary_routed.rpt -pb CPU9bits_timing_summary_routed.pb -rpx CPU9bits_timing_summary_routed.rpx -warn_on_violation " - create_report "impl_1_route_report_incremental_reuse_0" "report_incremental_reuse -file CPU9bits_incremental_reuse_routed.rpt" - create_report "impl_1_route_report_clock_utilization_0" "report_clock_utilization -file CPU9bits_clock_utilization_routed.rpt" - create_report "impl_1_route_report_bus_skew_0" "report_bus_skew -warn_on_violation -file CPU9bits_bus_skew_routed.rpt -pb CPU9bits_bus_skew_routed.pb -rpx CPU9bits_bus_skew_routed.rpx" - close_msg_db -file route_design.pb -} RESULT] -if {$rc} { - write_checkpoint -force CPU9bits_routed_error.dcp - step_failed route_design - return -code error $RESULT -} else { - end_step route_design - unset ACTIVE_STEP -} - diff --git a/lab2CA.runs/impl_1/CPU9bits.vdi b/lab2CA.runs/impl_1/CPU9bits.vdi deleted file mode 100644 index f2aed17..0000000 --- a/lab2CA.runs/impl_1/CPU9bits.vdi +++ /dev/null @@ -1,450 +0,0 @@ -#----------------------------------------------------------- -# Vivado v2018.3 (64-bit) -# SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 -# IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Wed Mar 20 10:54:16 2019 -# Process ID: 6632 -# Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1 -# Command line: vivado.exe -log CPU9bits.vdi -applog -product Vivado -messageDb vivado.pb -mode batch -source CPU9bits.tcl -notrace -# Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits.vdi -# Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1\vivado.jou -#----------------------------------------------------------- -source CPU9bits.tcl -notrace -Command: link_design -top CPU9bits -part xc7k160tifbg484-2L -Design is defaulting to srcset: sources_1 -Design is defaulting to constrset: constrs_1 -INFO: [Project 1-479] Netlist was created with Vivado 2018.3 -INFO: [Device 21-403] Loading part xc7k160tifbg484-2L -INFO: [Project 1-570] Preparing netlist for logic optimization -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 577.477 ; gain = 0.000 -INFO: [Project 1-111] Unisim Transformation Summary: -No Unisim elements were transformed. - -4 Infos, 0 Warnings, 0 Critical Warnings and 0 Errors encountered. -link_design completed successfully -link_design: Time (s): cpu = 00:00:06 ; elapsed = 00:00:15 . Memory (MB): peak = 582.992 ; gain = 327.441 -Command: opt_design -Attempting to get a license for feature 'Implementation' and/or device 'xc7k160ti' -INFO: [Common 17-349] Got license for feature 'Implementation' and/or device 'xc7k160ti' -Running DRC as a precondition to command opt_design - -Starting DRC Task -INFO: [DRC 23-27] Running DRC with 2 threads -INFO: [Project 1-461] DRC finished with 0 Errors -INFO: [Project 1-462] Please refer to the DRC report (report_drc) for more information. - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.158 . Memory (MB): peak = 584.691 ; gain = 1.699 - -Starting Cache Timing Information Task -INFO: [Timing 38-35] Done setting XDC timing constraints. -Ending Cache Timing Information Task | Checksum: 67eaf6c9 - -Time (s): cpu = 00:00:09 ; elapsed = 00:00:10 . Memory (MB): peak = 1120.242 ; gain = 535.551 - -Starting Logic Optimization Task - -Phase 1 Retarget -INFO: [Opt 31-138] Pushed 0 inverter(s) to 0 load pin(s). -INFO: [Opt 31-49] Retargeted 0 cell(s). -Phase 1 Retarget | Checksum: 67eaf6c9 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.033 . Memory (MB): peak = 1215.434 ; gain = 0.000 -INFO: [Opt 31-389] Phase Retarget created 0 cells and removed 0 cells - -Phase 2 Constant propagation -INFO: [Opt 31-138] Pushed 0 inverter(s) to 0 load pin(s). -Phase 2 Constant propagation | Checksum: 67eaf6c9 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.035 . Memory (MB): peak = 1215.434 ; gain = 0.000 -INFO: [Opt 31-389] Phase Constant propagation created 0 cells and removed 0 cells - -Phase 3 Sweep -Phase 3 Sweep | Checksum: 67eaf6c9 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.042 . Memory (MB): peak = 1215.434 ; gain = 0.000 -INFO: [Opt 31-389] Phase Sweep created 0 cells and removed 0 cells - -Phase 4 BUFG optimization -Phase 4 BUFG optimization | Checksum: 67eaf6c9 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.044 . Memory (MB): peak = 1215.434 ; gain = 0.000 -INFO: [Opt 31-662] Phase BUFG optimization created 0 cells of which 0 are BUFGs and removed 0 cells. - -Phase 5 Shift Register Optimization -Phase 5 Shift Register Optimization | Checksum: 67eaf6c9 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.074 . Memory (MB): peak = 1215.434 ; gain = 0.000 -INFO: [Opt 31-389] Phase Shift Register Optimization created 0 cells and removed 0 cells - -Phase 6 Post Processing Netlist -Phase 6 Post Processing Netlist | Checksum: 67eaf6c9 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.075 . Memory (MB): peak = 1215.434 ; gain = 0.000 -INFO: [Opt 31-389] Phase Post Processing Netlist created 0 cells and removed 0 cells -Opt_design Change Summary -========================= - - -------------------------------------------------------------------------------------------------------------------------- -| Phase | #Cells created | #Cells Removed | #Constrained objects preventing optimizations | -------------------------------------------------------------------------------------------------------------------------- -| Retarget | 0 | 0 | 0 | -| Constant propagation | 0 | 0 | 0 | -| Sweep | 0 | 0 | 0 | -| BUFG optimization | 0 | 0 | 0 | -| Shift Register Optimization | 0 | 0 | 0 | -| Post Processing Netlist | 0 | 0 | 0 | -------------------------------------------------------------------------------------------------------------------------- - - - -Starting Connectivity Check Task - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 -Ending Logic Optimization Task | Checksum: 67eaf6c9 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.078 . Memory (MB): peak = 1215.434 ; gain = 0.000 - -Starting Power Optimization Task -INFO: [Pwropt 34-132] Skipping clock gating for clocks with a period < 2.00 ns. -Ending Power Optimization Task | Checksum: 67eaf6c9 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.012 . Memory (MB): peak = 1215.434 ; gain = 0.000 - -Starting Final Cleanup Task -Ending Final Cleanup Task | Checksum: 67eaf6c9 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 - -Starting Netlist Obfuscation Task -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 -Ending Netlist Obfuscation Task | Checksum: 67eaf6c9 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 -INFO: [Common 17-83] Releasing license: Implementation -20 Infos, 0 Warnings, 0 Critical Warnings and 0 Errors encountered. -opt_design completed successfully -opt_design: Time (s): cpu = 00:00:10 ; elapsed = 00:00:11 . Memory (MB): peak = 1215.434 ; gain = 632.441 -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 -WARNING: [Constraints 18-5210] No constraints selected for write. -Resolution: This message can indicate that there are no constraints for the design, or it can indicate that the used_in flags are set such that the constraints are ignored. This later case is used when running synth_design to not write synthesis constraints to the resulting checkpoint. Instead, project constraints are read when the synthesized design is opened. -INFO: [Common 17-1381] The checkpoint 'C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_opt.dcp' has been generated. -INFO: [runtcl-4] Executing : report_drc -file CPU9bits_drc_opted.rpt -pb CPU9bits_drc_opted.pb -rpx CPU9bits_drc_opted.rpx -Command: report_drc -file CPU9bits_drc_opted.rpt -pb CPU9bits_drc_opted.pb -rpx CPU9bits_drc_opted.rpx -INFO: [IP_Flow 19-234] Refreshing IP repositories -INFO: [IP_Flow 19-1704] No user IP repositories specified -INFO: [IP_Flow 19-2313] Loaded Vivado IP repository 'C:/Xilinx/Vivado/2018.3/data/ip'. -INFO: [DRC 23-27] Running DRC with 2 threads -INFO: [Coretcl 2-168] The results of DRC are in file C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_drc_opted.rpt. -report_drc completed successfully -Command: place_design -Attempting to get a license for feature 'Implementation' and/or device 'xc7k160ti' -INFO: [Common 17-349] Got license for feature 'Implementation' and/or device 'xc7k160ti' -INFO: [DRC 23-27] Running DRC with 2 threads -INFO: [Vivado_Tcl 4-198] DRC finished with 0 Errors -INFO: [Vivado_Tcl 4-199] Please refer to the DRC report (report_drc) for more information. -Running DRC as a precondition to command place_design -INFO: [DRC 23-27] Running DRC with 2 threads -INFO: [Vivado_Tcl 4-198] DRC finished with 0 Errors -INFO: [Vivado_Tcl 4-199] Please refer to the DRC report (report_drc) for more information. - -Starting Placer Task -INFO: [Place 30-611] Multithreading enabled for place_design using a maximum of 2 CPUs - -Phase 1 Placer Initialization - -Phase 1.1 Placer Initialization Netlist Sorting -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 -Phase 1.1 Placer Initialization Netlist Sorting | Checksum: 1e8bce05 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.012 . Memory (MB): peak = 1215.434 ; gain = 0.000 -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 - -Phase 1.2 IO Placement/ Clock Placement/ Build Placer Device -INFO: [Timing 38-35] Done setting XDC timing constraints. -Phase 1.2 IO Placement/ Clock Placement/ Build Placer Device | Checksum: e57f37ca - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1228.512 ; gain = 13.078 - -Phase 1.3 Build Placer Netlist Model -Phase 1.3 Build Placer Netlist Model | Checksum: 12d43b0ad - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1228.512 ; gain = 13.078 - -Phase 1.4 Constrain Clocks/Macros -Phase 1.4 Constrain Clocks/Macros | Checksum: 12d43b0ad - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1228.512 ; gain = 13.078 -Phase 1 Placer Initialization | Checksum: 12d43b0ad - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1228.512 ; gain = 13.078 - -Phase 2 Global Placement - -Phase 2.1 Floorplanning -Phase 2.1 Floorplanning | Checksum: 12d43b0ad - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1230.293 ; gain = 14.859 -WARNING: [Place 46-29] place_design is not in timing mode. Skip physical synthesis in placer -Phase 2 Global Placement | Checksum: 1864333f5 - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1238.859 ; gain = 23.426 - -Phase 3 Detail Placement - -Phase 3.1 Commit Multi Column Macros -Phase 3.1 Commit Multi Column Macros | Checksum: 1864333f5 - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1238.859 ; gain = 23.426 - -Phase 3.2 Commit Most Macros & LUTRAMs -Phase 3.2 Commit Most Macros & LUTRAMs | Checksum: 1b035ff86 - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1238.859 ; gain = 23.426 - -Phase 3.3 Area Swap Optimization -Phase 3.3 Area Swap Optimization | Checksum: 1a32c6abd - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1238.859 ; gain = 23.426 - -Phase 3.4 Pipeline Register Optimization -Phase 3.4 Pipeline Register Optimization | Checksum: 1a32c6abd - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1238.859 ; gain = 23.426 - -Phase 3.5 Small Shape Detail Placement -Phase 3.5 Small Shape Detail Placement | Checksum: fab459d9 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 - -Phase 3.6 Re-assign LUT pins -Phase 3.6 Re-assign LUT pins | Checksum: fab459d9 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 - -Phase 3.7 Pipeline Register Optimization -Phase 3.7 Pipeline Register Optimization | Checksum: fab459d9 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 -Phase 3 Detail Placement | Checksum: fab459d9 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 - -Phase 4 Post Placement Optimization and Clean-Up - -Phase 4.1 Post Commit Optimization -Phase 4.1 Post Commit Optimization | Checksum: fab459d9 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 - -Phase 4.2 Post Placement Cleanup -Phase 4.2 Post Placement Cleanup | Checksum: fab459d9 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 - -Phase 4.3 Placer Reporting -Phase 4.3 Placer Reporting | Checksum: fab459d9 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 - -Phase 4.4 Final Placement Cleanup -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1247.652 ; gain = 0.000 -Phase 4.4 Final Placement Cleanup | Checksum: 12de424c6 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 -Phase 4 Post Placement Optimization and Clean-Up | Checksum: 12de424c6 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 -Ending Placer Task | Checksum: 1217184e4 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 -INFO: [Common 17-83] Releasing license: Implementation -37 Infos, 2 Warnings, 0 Critical Warnings and 0 Errors encountered. -place_design completed successfully -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1247.652 ; gain = 0.000 -WARNING: [Constraints 18-5210] No constraints selected for write. -Resolution: This message can indicate that there are no constraints for the design, or it can indicate that the used_in flags are set such that the constraints are ignored. This later case is used when running synth_design to not write synthesis constraints to the resulting checkpoint. Instead, project constraints are read when the synthesized design is opened. -Writing placer database... -Writing XDEF routing. -Writing XDEF routing logical nets. -Writing XDEF routing special nets. -Write XDEF Complete: Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.091 . Memory (MB): peak = 1247.652 ; gain = 0.000 -INFO: [Common 17-1381] The checkpoint 'C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_placed.dcp' has been generated. -INFO: [runtcl-4] Executing : report_io -file CPU9bits_io_placed.rpt -report_io: Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.049 . Memory (MB): peak = 1247.652 ; gain = 0.000 -INFO: [runtcl-4] Executing : report_utilization -file CPU9bits_utilization_placed.rpt -pb CPU9bits_utilization_placed.pb -INFO: [runtcl-4] Executing : report_control_sets -verbose -file CPU9bits_control_sets_placed.rpt -report_control_sets: Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.001 . Memory (MB): peak = 1247.652 ; gain = 0.000 -Command: route_design -Attempting to get a license for feature 'Implementation' and/or device 'xc7k160ti' -INFO: [Common 17-349] Got license for feature 'Implementation' and/or device 'xc7k160ti' -Running DRC as a precondition to command route_design -INFO: [DRC 23-27] Running DRC with 2 threads -INFO: [Vivado_Tcl 4-198] DRC finished with 0 Errors -INFO: [Vivado_Tcl 4-199] Please refer to the DRC report (report_drc) for more information. - - -Starting Routing Task -INFO: [Route 35-254] Multithreading enabled for route_design using a maximum of 2 CPUs -Checksum: PlaceDB: b70f4e2d ConstDB: 0 ShapeSum: 6a6236b7 RouteDB: 0 - -Phase 1 Build RT Design -Phase 1 Build RT Design | Checksum: ffbb244b - -Time (s): cpu = 00:00:28 ; elapsed = 00:00:21 . Memory (MB): peak = 1468.047 ; gain = 220.355 -Post Restoration Checksum: NetGraph: 5f6c3d5a NumContArr: a04ee6f1 Constraints: 0 Timing: 0 - -Phase 2 Router Initialization -INFO: [Route 35-64] No timing constraints were detected. The router will operate in resource-optimization mode. - -Phase 2.1 Fix Topology Constraints -Phase 2.1 Fix Topology Constraints | Checksum: ffbb244b - -Time (s): cpu = 00:00:28 ; elapsed = 00:00:21 . Memory (MB): peak = 1472.582 ; gain = 224.891 - -Phase 2.2 Pre Route Cleanup -Phase 2.2 Pre Route Cleanup | Checksum: ffbb244b - -Time (s): cpu = 00:00:28 ; elapsed = 00:00:21 . Memory (MB): peak = 1472.582 ; gain = 224.891 - Number of Nodes with overlaps = 0 -Phase 2 Router Initialization | Checksum: 7ea84813 - -Time (s): cpu = 00:00:28 ; elapsed = 00:00:21 . Memory (MB): peak = 1496.957 ; gain = 249.266 - -Phase 3 Initial Routing -Phase 3 Initial Routing | Checksum: 16fa702c6 - -Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 - -Phase 4 Rip-up And Reroute - -Phase 4.1 Global Iteration 0 - Number of Nodes with overlaps = 0 -Phase 4.1 Global Iteration 0 | Checksum: fb3beefb - -Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 -Phase 4 Rip-up And Reroute | Checksum: fb3beefb - -Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 - -Phase 5 Delay and Skew Optimization -Phase 5 Delay and Skew Optimization | Checksum: fb3beefb - -Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 - -Phase 6 Post Hold Fix - -Phase 6.1 Hold Fix Iter -Phase 6.1 Hold Fix Iter | Checksum: fb3beefb - -Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 -Phase 6 Post Hold Fix | Checksum: fb3beefb - -Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 - -Phase 7 Route finalize - -Router Utilization Summary - Global Vertical Routing Utilization = 2.61131e-05 % - Global Horizontal Routing Utilization = 0.000170503 % - Routable Net Status* - *Does not include unroutable nets such as driverless and loadless. - Run report_route_status for detailed report. - Number of Failed Nets = 0 - Number of Unrouted Nets = 0 - Number of Partially Routed Nets = 0 - Number of Node Overlaps = 0 - -Congestion Report -North Dir 1x1 Area, Max Cong = 0.900901%, No Congested Regions. -South Dir 1x1 Area, Max Cong = 0%, No Congested Regions. -East Dir 1x1 Area, Max Cong = 1.47059%, No Congested Regions. -West Dir 1x1 Area, Max Cong = 2.94118%, No Congested Regions. - ------------------------------- -Reporting congestion hotspots ------------------------------- -Direction: North ----------------- -Congested clusters found at Level 0 -Effective congestion level: 0 Aspect Ratio: 1 Sparse Ratio: 0 -Direction: South ----------------- -Congested clusters found at Level 0 -Effective congestion level: 0 Aspect Ratio: 1 Sparse Ratio: 0 -Direction: East ----------------- -Congested clusters found at Level 0 -Effective congestion level: 0 Aspect Ratio: 1 Sparse Ratio: 0 -Direction: West ----------------- -Congested clusters found at Level 0 -Effective congestion level: 0 Aspect Ratio: 1 Sparse Ratio: 0 - -Phase 7 Route finalize | Checksum: fb3beefb - -Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 - -Phase 8 Verifying routed nets - - Verification completed successfully -Phase 8 Verifying routed nets | Checksum: fb3beefb - -Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 - -Phase 9 Depositing Routes -Phase 9 Depositing Routes | Checksum: fb3beefb - -Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 -INFO: [Route 35-16] Router Completed Successfully - -Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 - -Routing Is Done. -INFO: [Common 17-83] Releasing license: Implementation -49 Infos, 3 Warnings, 0 Critical Warnings and 0 Errors encountered. -route_design completed successfully -route_design: Time (s): cpu = 00:00:29 ; elapsed = 00:00:29 . Memory (MB): peak = 1496.957 ; gain = 249.305 -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1496.957 ; gain = 0.000 -WARNING: [Constraints 18-5210] No constraints selected for write. -Resolution: This message can indicate that there are no constraints for the design, or it can indicate that the used_in flags are set such that the constraints are ignored. This later case is used when running synth_design to not write synthesis constraints to the resulting checkpoint. Instead, project constraints are read when the synthesized design is opened. -Writing placer database... -Writing XDEF routing. -Writing XDEF routing logical nets. -Writing XDEF routing special nets. -Write XDEF Complete: Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.039 . Memory (MB): peak = 1496.957 ; gain = 0.000 -INFO: [Common 17-1381] The checkpoint 'C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_routed.dcp' has been generated. -INFO: [runtcl-4] Executing : report_drc -file CPU9bits_drc_routed.rpt -pb CPU9bits_drc_routed.pb -rpx CPU9bits_drc_routed.rpx -Command: report_drc -file CPU9bits_drc_routed.rpt -pb CPU9bits_drc_routed.pb -rpx CPU9bits_drc_routed.rpx -INFO: [IP_Flow 19-1839] IP Catalog is up to date. -INFO: [DRC 23-27] Running DRC with 2 threads -INFO: [Coretcl 2-168] The results of DRC are in file C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_drc_routed.rpt. -report_drc completed successfully -INFO: [runtcl-4] Executing : report_methodology -file CPU9bits_methodology_drc_routed.rpt -pb CPU9bits_methodology_drc_routed.pb -rpx CPU9bits_methodology_drc_routed.rpx -Command: report_methodology -file CPU9bits_methodology_drc_routed.rpt -pb CPU9bits_methodology_drc_routed.pb -rpx CPU9bits_methodology_drc_routed.rpx -INFO: [Timing 38-35] Done setting XDC timing constraints. -INFO: [DRC 23-133] Running Methodology with 2 threads -INFO: [Coretcl 2-1520] The results of Report Methodology are in file C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_methodology_drc_routed.rpt. -report_methodology completed successfully -INFO: [runtcl-4] Executing : report_power -file CPU9bits_power_routed.rpt -pb CPU9bits_power_summary_routed.pb -rpx CPU9bits_power_routed.rpx -Command: report_power -file CPU9bits_power_routed.rpt -pb CPU9bits_power_summary_routed.pb -rpx CPU9bits_power_routed.rpx -WARNING: [Power 33-232] No user defined clocks were found in the design! -Resolution: Please specify clocks using create_clock/create_generated_clock for sequential elements. For pure combinatorial circuits, please specify a virtual clock, otherwise the vectorless estimation might be inaccurate -INFO: [Timing 38-35] Done setting XDC timing constraints. -Running Vector-less Activity Propagation... - -Finished Running Vector-less Activity Propagation -60 Infos, 5 Warnings, 0 Critical Warnings and 0 Errors encountered. -report_power completed successfully -INFO: [runtcl-4] Executing : report_route_status -file CPU9bits_route_status.rpt -pb CPU9bits_route_status.pb -INFO: [runtcl-4] Executing : report_timing_summary -max_paths 10 -file CPU9bits_timing_summary_routed.rpt -pb CPU9bits_timing_summary_routed.pb -rpx CPU9bits_timing_summary_routed.rpx -warn_on_violation -INFO: [Timing 38-91] UpdateTimingParams: Speed grade: -2L, Delay Type: min_max. -INFO: [Timing 38-191] Multithreading enabled for timing update using a maximum of 2 CPUs -WARNING: [Timing 38-313] There are no user specified timing constraints. Timing constraints are needed for proper timing analysis. -INFO: [runtcl-4] Executing : report_incremental_reuse -file CPU9bits_incremental_reuse_routed.rpt -INFO: [Vivado_Tcl 4-1062] Incremental flow is disabled. No incremental reuse Info to report. -INFO: [runtcl-4] Executing : report_clock_utilization -file CPU9bits_clock_utilization_routed.rpt -INFO: [runtcl-4] Executing : report_bus_skew -warn_on_violation -file CPU9bits_bus_skew_routed.rpt -pb CPU9bits_bus_skew_routed.pb -rpx CPU9bits_bus_skew_routed.rpx -INFO: [Timing 38-91] UpdateTimingParams: Speed grade: -2L, Delay Type: min_max. -INFO: [Timing 38-191] Multithreading enabled for timing update using a maximum of 2 CPUs -INFO: [Common 17-206] Exiting Vivado at Wed Mar 20 10:55:21 2019... diff --git a/lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.pb b/lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.pb deleted file mode 100644 index 3390588d5da71a6f6866045d7ae5646edfab7b0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30 lcmd;LGcqu=&@-IGEZ|gHtWcbtTCPx(T3nh_Qapp10RVJW2(bVF diff --git a/lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.rpt b/lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.rpt deleted file mode 100644 index 628651f..0000000 --- a/lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.rpt +++ /dev/null @@ -1,15 +0,0 @@ -Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. ---------------------------------------------------------------------------------------------------------------------------------------------------------- -| Tool Version : Vivado v.2018.3 (win64) Build 2405991 Thu Dec 6 23:38:27 MST 2018 -| Date : Wed Mar 20 10:55:21 2019 -| Host : DESKTOP-8QFGS52 running 64-bit major release (build 9200) -| Command : report_bus_skew -warn_on_violation -file CPU9bits_bus_skew_routed.rpt -pb CPU9bits_bus_skew_routed.pb -rpx CPU9bits_bus_skew_routed.rpx -| Design : CPU9bits -| Device : 7k160ti-fbg484 -| Speed File : -2L PRODUCTION 1.12 2017-02-17 ---------------------------------------------------------------------------------------------------------------------------------------------------------- - -Bus Skew Report - -No bus skew constraints - diff --git a/lab2CA.runs/impl_1/CPU9bits_clock_utilization_routed.rpt b/lab2CA.runs/impl_1/CPU9bits_clock_utilization_routed.rpt deleted file mode 100644 index 945407b..0000000 --- a/lab2CA.runs/impl_1/CPU9bits_clock_utilization_routed.rpt +++ /dev/null @@ -1,154 +0,0 @@ -Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. -------------------------------------------------------------------------------------------- -| Tool Version : Vivado v.2018.3 (win64) Build 2405991 Thu Dec 6 23:38:27 MST 2018 -| Date : Wed Mar 20 10:55:21 2019 -| Host : DESKTOP-8QFGS52 running 64-bit major release (build 9200) -| Command : report_clock_utilization -file CPU9bits_clock_utilization_routed.rpt -| Design : CPU9bits -| Device : 7k160ti-fbg484 -| Speed File : -2L PRODUCTION 1.12 2017-02-17 -| Temperature Grade : I -------------------------------------------------------------------------------------------- - -Clock Utilization Report - -Table of Contents ------------------ -1. Clock Primitive Utilization -2. Global Clock Resources -3. Global Clock Source Details -4. Clock Regions: Key Resource Utilization -5. Clock Regions : Global Clock Summary -6. Device Cell Placement Summary for Global Clock g0 -7. Clock Region Cell Placement per Global Clock: Region X0Y1 - -1. Clock Primitive Utilization ------------------------------- - -+----------+------+-----------+-----+--------------+--------+ -| Type | Used | Available | LOC | Clock Region | Pblock | -+----------+------+-----------+-----+--------------+--------+ -| BUFGCTRL | 1 | 32 | 0 | 0 | 0 | -| BUFH | 0 | 120 | 0 | 0 | 0 | -| BUFIO | 0 | 32 | 0 | 0 | 0 | -| BUFMR | 0 | 16 | 0 | 0 | 0 | -| BUFR | 0 | 32 | 0 | 0 | 0 | -| MMCM | 0 | 8 | 0 | 0 | 0 | -| PLL | 0 | 8 | 0 | 0 | 0 | -+----------+------+-----------+-----+--------------+--------+ - - -2. Global Clock Resources -------------------------- - -+-----------+-----------+-----------------+------------+---------------+--------------+-------------------+-------------+-----------------+--------------+-------+----------------------+---------------+ -| Global Id | Source Id | Driver Type/Pin | Constraint | Site | Clock Region | Load Clock Region | Clock Loads | Non-Clock Loads | Clock Period | Clock | Driver Pin | Net | -+-----------+-----------+-----------------+------------+---------------+--------------+-------------------+-------------+-----------------+--------------+-------+----------------------+---------------+ -| g0 | src0 | BUFG/O | None | BUFGCTRL_X0Y0 | n/a | 1 | 3 | 0 | | | clk_IBUF_BUFG_inst/O | clk_IBUF_BUFG | -+-----------+-----------+-----------------+------------+---------------+--------------+-------------------+-------------+-----------------+--------------+-------+----------------------+---------------+ -* Clock Loads column represents the clock pin loads (pin count) -** Non-Clock Loads column represents the non-clock pin loads (pin count) - - -3. Global Clock Source Details ------------------------------- - -+-----------+-----------+-----------------+------------+-----------+--------------+-------------+-----------------+---------------------+--------------+-----------------+----------+ -| Source Id | Global Id | Driver Type/Pin | Constraint | Site | Clock Region | Clock Loads | Non-Clock Loads | Source Clock Period | Source Clock | Driver Pin | Net | -+-----------+-----------+-----------------+------------+-----------+--------------+-------------+-----------------+---------------------+--------------+-----------------+----------+ -| src0 | g0 | IBUF/O | None | IOB_X0Y78 | X0Y1 | 1 | 0 | | | clk_IBUF_inst/O | clk_IBUF | -+-----------+-----------+-----------------+------------+-----------+--------------+-------------+-----------------+---------------------+--------------+-----------------+----------+ -* Clock Loads column represents the clock pin loads (pin count) -** Non-Clock Loads column represents the non-clock pin loads (pin count) - - -4. Clock Regions: Key Resource Utilization ------------------------------------------- - -+-------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -| | Global Clock | BUFRs | BUFMRs | BUFIOs | MMCM | PLL | GT | PCI | ILOGIC | OLOGIC | FF | LUTM | RAMB18 | RAMB36 | DSP48E2 | -+-------------------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+ -| Clock Region Name | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | -+-------------------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+ -| X0Y0 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2800 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | -| X1Y0 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2700 | 0 | 950 | 0 | 80 | 0 | 40 | 0 | 60 | -| X0Y1 | 1 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 3 | 2800 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | -| X1Y1 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2700 | 0 | 950 | 0 | 80 | 0 | 40 | 0 | 60 | -| X0Y2 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2200 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | -| X1Y2 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2700 | 0 | 950 | 0 | 80 | 0 | 40 | 0 | 60 | -| X0Y3 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2200 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | -| X1Y3 | 0 | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2150 | 0 | 800 | 0 | 50 | 0 | 25 | 0 | 60 | -| X0Y4 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2800 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | -| X1Y4 | 0 | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2300 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | -+-------------------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+ -* Global Clock column represents track count; while other columns represents cell counts - - -5. Clock Regions : Global Clock Summary ---------------------------------------- - -All Modules -+----+----+----+ -| | X0 | X1 | -+----+----+----+ -| Y4 | 0 | 0 | -| Y3 | 0 | 0 | -| Y2 | 0 | 0 | -| Y1 | 1 | 0 | -| Y0 | 0 | 0 | -+----+----+----+ - - -6. Device Cell Placement Summary for Global Clock g0 ----------------------------------------------------- - -+-----------+-----------------+-------------------+-------+-------------+---------------+-------------+----------+----------------+----------+---------------+ -| Global Id | Driver Type/Pin | Driver Region (D) | Clock | Period (ns) | Waveform (ns) | Slice Loads | IO Loads | Clocking Loads | GT Loads | Net | -+-----------+-----------------+-------------------+-------+-------------+---------------+-------------+----------+----------------+----------+---------------+ -| g0 | BUFG/O | n/a | | | | 3 | 0 | 0 | 0 | clk_IBUF_BUFG | -+-----------+-----------------+-------------------+-------+-------------+---------------+-------------+----------+----------------+----------+---------------+ -* Logic Loads column represents load cell count of all cell types other than IO, GT and clock resources -** IO Loads column represents load cell count of IO types -*** Clocking Loads column represents load cell count that are clock resources (global clock buffer, MMCM, PLL, etc) -**** GT Loads column represents load cell count of GT types - - -+----+----+----+ -| | X0 | X1 | -+----+----+----+ -| Y4 | 0 | 0 | -| Y3 | 0 | 0 | -| Y2 | 0 | 0 | -| Y1 | 3 | 0 | -| Y0 | 0 | 0 | -+----+----+----+ - - -7. Clock Region Cell Placement per Global Clock: Region X0Y1 ------------------------------------------------------------- - -+-----------+-------+-----------------+------------+-------------+-----------------+----+--------+------+-----+----+------+-----+---------+---------------+ -| Global Id | Track | Driver Type/Pin | Constraint | Clock Loads | Non-Clock Loads | FF | LUTRAM | RAMB | DSP | GT | MMCM | PLL | Hard IP | Net | -+-----------+-------+-----------------+------------+-------------+-----------------+----+--------+------+-----+----+------+-----+---------+---------------+ -| g0 | n/a | BUFG/O | None | 3 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | clk_IBUF_BUFG | -+-----------+-------+-----------------+------------+-------------+-----------------+----+--------+------+-----+----+------+-----+---------+---------------+ -* Clock Loads column represents the clock pin loads (pin count) -** Non-Clock Loads column represents the non-clock pin loads (pin count) -*** Columns FF, LUTRAM, RAMB through 'Hard IP' represents load cell counts - - - -# Location of BUFG Primitives -set_property LOC BUFGCTRL_X0Y0 [get_cells clk_IBUF_BUFG_inst] - -# Location of IO Primitives which is load of clock spine - -# Location of clock ports -set_property LOC IOB_X0Y78 [get_ports clk] - -# Clock net "clk_IBUF_BUFG" driven by instance "clk_IBUF_BUFG_inst" located at site "BUFGCTRL_X0Y0" -#startgroup -create_pblock {CLKAG_clk_IBUF_BUFG} -add_cells_to_pblock [get_pblocks {CLKAG_clk_IBUF_BUFG}] [get_cells -filter { PRIMITIVE_GROUP != I/O && IS_PRIMITIVE==1 && PRIMITIVE_LEVEL !=INTERNAL } -of_object [get_pins -filter {DIRECTION==IN} -of_objects [get_nets -hierarchical -filter {PARENT=="clk_IBUF_BUFG"}]]] -resize_pblock [get_pblocks {CLKAG_clk_IBUF_BUFG}] -add {CLOCKREGION_X0Y1:CLOCKREGION_X0Y1} -#endgroup diff --git a/lab2CA.runs/impl_1/CPU9bits_control_sets_placed.rpt b/lab2CA.runs/impl_1/CPU9bits_control_sets_placed.rpt deleted file mode 100644 index 3fc76ab..0000000 --- a/lab2CA.runs/impl_1/CPU9bits_control_sets_placed.rpt +++ /dev/null @@ -1,65 +0,0 @@ -Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. -------------------------------------------------------------------------------------- -| Tool Version : Vivado v.2018.3 (win64) Build 2405991 Thu Dec 6 23:38:27 MST 2018 -| Date : Wed Mar 20 10:54:50 2019 -| Host : DESKTOP-8QFGS52 running 64-bit major release (build 9200) -| Command : report_control_sets -verbose -file CPU9bits_control_sets_placed.rpt -| Design : CPU9bits -| Device : xc7k160ti -------------------------------------------------------------------------------------- - -Control Set Information - -Table of Contents ------------------ -1. Summary -2. Histogram -3. Flip-Flop Distribution -4. Detailed Control Set Information - -1. Summary ----------- - -+----------------------------------------------------------+-------+ -| Status | Count | -+----------------------------------------------------------+-------+ -| Number of unique control sets | 1 | -| Unused register locations in slices containing registers | 5 | -+----------------------------------------------------------+-------+ - - -2. Histogram ------------- - -+--------+--------------+ -| Fanout | Control Sets | -+--------+--------------+ -| 3 | 1 | -+--------+--------------+ - - -3. Flip-Flop Distribution -------------------------- - -+--------------+-----------------------+------------------------+-----------------+--------------+ -| Clock Enable | Synchronous Set/Reset | Asynchronous Set/Reset | Total Registers | Total Slices | -+--------------+-----------------------+------------------------+-----------------+--------------+ -| No | No | No | 3 | 1 | -| No | No | Yes | 0 | 0 | -| No | Yes | No | 0 | 0 | -| Yes | No | No | 0 | 0 | -| Yes | No | Yes | 0 | 0 | -| Yes | Yes | No | 0 | 0 | -+--------------+-----------------------+------------------------+-----------------+--------------+ - - -4. Detailed Control Set Information ------------------------------------ - -+----------------+---------------+------------------+------------------+----------------+ -| Clock Signal | Enable Signal | Set/Reset Signal | Slice Load Count | Bel Load Count | -+----------------+---------------+------------------+------------------+----------------+ -| clk_IBUF_BUFG | | | 1 | 3 | -+----------------+---------------+------------------+------------------+----------------+ - - diff --git a/lab2CA.runs/impl_1/CPU9bits_drc_opted.pb b/lab2CA.runs/impl_1/CPU9bits_drc_opted.pb deleted file mode 100644 index 0158a2ad826bcd75c8436a6a29252340aee67559..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37 scmd;LGcqtV(KDRH% - Ruledeck: default - Max violations: - Violations found: 3 -+----------+------------------+-----------------------------------------------------+------------+ -| Rule | Severity | Description | Violations | -+----------+------------------+-----------------------------------------------------+------------+ -| NSTD-1 | Critical Warning | Unspecified I/O Standard | 1 | -| UCIO-1 | Critical Warning | Unconstrained Logical Port | 1 | -| CFGBVS-1 | Warning | Missing CFGBVS and CONFIG_VOLTAGE Design Properties | 1 | -+----------+------------------+-----------------------------------------------------+------------+ - -2. REPORT DETAILS ------------------ -NSTD-1#1 Critical Warning -Unspecified I/O Standard -3 out of 3 logical ports use I/O standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned specific value. This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all I/O standards. This design will fail to generate a bitstream unless all logical ports have a user specified I/O standard value defined. To allow bitstream creation with unspecified I/O standard values (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks NSTD-1]. NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run. Problem ports: clk, done, reset. -Related violations: - -UCIO-1#1 Critical Warning -Unconstrained Logical Port -3 out of 3 logical ports have no user assigned specific location constraint (LOC). This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all pin locations. This design will fail to generate a bitstream unless all logical ports have a user specified site LOC constraint defined. To allow bitstream creation with unspecified pin locations (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks UCIO-1]. NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run. Problem ports: clk, done, reset. -Related violations: - -CFGBVS-1#1 Warning -Missing CFGBVS and CONFIG_VOLTAGE Design Properties -Neither the CFGBVS nor CONFIG_VOLTAGE voltage property is set in the current_design. Configuration bank voltage select (CFGBVS) must be set to VCCO or GND, and CONFIG_VOLTAGE must be set to the correct configuration voltage, in order to determine the I/O voltage support for the pins in bank 0. It is suggested to specify these either using the 'Edit Device Properties' function in the GUI or directly in the XDC file using the following syntax: - - set_property CFGBVS value1 [current_design] - #where value1 is either VCCO or GND - - set_property CONFIG_VOLTAGE value2 [current_design] - #where value2 is the voltage provided to configuration bank 0 - -Refer to the device configuration user guide for more information. -Related violations: - - diff --git a/lab2CA.runs/impl_1/CPU9bits_drc_routed.pb b/lab2CA.runs/impl_1/CPU9bits_drc_routed.pb deleted file mode 100644 index 0158a2ad826bcd75c8436a6a29252340aee67559..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37 scmd;LGcqtV(KDRH% - Ruledeck: default - Max violations: - Violations found: 3 -+----------+------------------+-----------------------------------------------------+------------+ -| Rule | Severity | Description | Violations | -+----------+------------------+-----------------------------------------------------+------------+ -| NSTD-1 | Critical Warning | Unspecified I/O Standard | 1 | -| UCIO-1 | Critical Warning | Unconstrained Logical Port | 1 | -| CFGBVS-1 | Warning | Missing CFGBVS and CONFIG_VOLTAGE Design Properties | 1 | -+----------+------------------+-----------------------------------------------------+------------+ - -2. REPORT DETAILS ------------------ -NSTD-1#1 Critical Warning -Unspecified I/O Standard -3 out of 3 logical ports use I/O standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned specific value. This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all I/O standards. This design will fail to generate a bitstream unless all logical ports have a user specified I/O standard value defined. To allow bitstream creation with unspecified I/O standard values (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks NSTD-1]. NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run. Problem ports: clk, done, reset. -Related violations: - -UCIO-1#1 Critical Warning -Unconstrained Logical Port -3 out of 3 logical ports have no user assigned specific location constraint (LOC). This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all pin locations. This design will fail to generate a bitstream unless all logical ports have a user specified site LOC constraint defined. To allow bitstream creation with unspecified pin locations (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks UCIO-1]. NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run. Problem ports: clk, done, reset. -Related violations: - -CFGBVS-1#1 Warning -Missing CFGBVS and CONFIG_VOLTAGE Design Properties -Neither the CFGBVS nor CONFIG_VOLTAGE voltage property is set in the current_design. Configuration bank voltage select (CFGBVS) must be set to VCCO or GND, and CONFIG_VOLTAGE must be set to the correct configuration voltage, in order to determine the I/O voltage support for the pins in bank 0. It is suggested to specify these either using the 'Edit Device Properties' function in the GUI or directly in the XDC file using the following syntax: - - set_property CFGBVS value1 [current_design] - #where value1 is either VCCO or GND - - set_property CONFIG_VOLTAGE value2 [current_design] - #where value2 is the voltage provided to configuration bank 0 - -Refer to the device configuration user guide for more information. -Related violations: - - diff --git a/lab2CA.runs/impl_1/CPU9bits_io_placed.rpt b/lab2CA.runs/impl_1/CPU9bits_io_placed.rpt deleted file mode 100644 index 78ca514..0000000 --- a/lab2CA.runs/impl_1/CPU9bits_io_placed.rpt +++ /dev/null @@ -1,526 +0,0 @@ -Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. -------------------------------------------------------------------------------------------------- -| Tool Version : Vivado v.2018.3 (win64) Build 2405991 Thu Dec 6 23:38:27 MST 2018 -| Date : Wed Mar 20 10:54:50 2019 -| Host : DESKTOP-8QFGS52 running 64-bit major release (build 9200) -| Command : report_io -file CPU9bits_io_placed.rpt -| Design : CPU9bits -| Device : xc7k160ti -| Speed File : -2L -| Package : fbg484 -| Package Version : FINAL 2012-06-26 -| Package Pin Delay Version : VERS. 2.0 2012-06-26 -------------------------------------------------------------------------------------------------- - -IO Information - -Table of Contents ------------------ -1. Summary -2. IO Assignments by Package Pin - -1. Summary ----------- - -+---------------+ -| Total User IO | -+---------------+ -| 3 | -+---------------+ - - -2. IO Assignments by Package Pin --------------------------------- - -+------------+-------------+------------------+------------------------------+---------------+-------------+---------+------------+------+---------------------+----------------------+-----------+------------+-----------+----------+------+------------------+--------------+-------------------+--------------+ -| Pin Number | Signal Name | Bank Type | Pin Name | Use | IO Standard | IO Bank | Drive (mA) | Slew | On-Chip Termination | Off-Chip Termination | Voltage | Constraint | Pull Type | DQS Bias | Vref | Signal Integrity | Pre Emphasis | Lvds Pre Emphasis | Equalization | -+------------+-------------+------------------+------------------------------+---------------+-------------+---------+------------+------+---------------------+----------------------+-----------+------------+-----------+----------+------+------------------+--------------+-------------------+--------------+ -| A1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| A2 | | | MGTAVTT | Gigabit Power | | | | | | | | | | | | | | | | -| A3 | | | MGTXTXN3_115 | Gigabit | | | | | | | | | | | | | | | | -| A4 | | | MGTXTXP3_115 | Gigabit | | | | | | | | | | | | | | | | -| A5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| A6 | | | MGTAVCC | Gigabit Power | | | | | | | | | | | | | | | | -| A7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| A8 | | High Range | IO_L21N_T3_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | -| A9 | | High Range | IO_L21P_T3_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | -| A10 | | High Range | IO_L23N_T3_16 | User IO | | 16 | | | | | | | | | | | | | | -| A11 | | High Range | IO_L23P_T3_16 | User IO | | 16 | | | | | | | | | | | | | | -| A12 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| A13 | | High Range | IO_L4P_T0_AD9P_15 | User IO | | 15 | | | | | | | | | | | | | | -| A14 | | High Range | IO_L4N_T0_AD9N_15 | User IO | | 15 | | | | | | | | | | | | | | -| A15 | | High Range | IO_L9N_T1_DQS_AD11N_15 | User IO | | 15 | | | | | | | | | | | | | | -| A16 | | High Range | IO_L8N_T1_AD3N_15 | User IO | | 15 | | | | | | | | | | | | | | -| A17 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | -| A18 | | High Range | IO_L10N_T1_AD4N_15 | User IO | | 15 | | | | | | | | | | | | | | -| A19 | | High Range | IO_L20N_T3_A19_15 | User IO | | 15 | | | | | | | | | | | | | | -| A20 | | High Range | IO_L22P_T3_A17_15 | User IO | | 15 | | | | | | | | | | | | | | -| A21 | | High Range | IO_L22N_T3_A16_15 | User IO | | 15 | | | | | | | | | | | | | | -| A22 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| AA1 | | High Performance | IO_L22P_T3_34 | User IO | | 34 | | | | | | | | | | | | | | -| AA2 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| AA3 | | High Performance | IO_L23P_T3_34 | User IO | | 34 | | | | | | | | | | | | | | -| AA4 | | High Performance | IO_L24P_T3_34 | User IO | | 34 | | | | | | | | | | | | | | -| AA5 | | High Performance | IO_L1P_T0_33 | User IO | | 33 | | | | | | | | | | | | | | -| AA6 | | High Performance | IO_L3P_T0_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | -| AA7 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | -| AA8 | | High Performance | IO_L5N_T0_33 | User IO | | 33 | | | | | | | | | | | | | | -| AA9 | | High Performance | IO_L5P_T0_33 | User IO | | 33 | | | | | | | | | | | | | | -| AA10 | | High Performance | IO_L4P_T0_33 | User IO | | 33 | | | | | | | | | | | | | | -| AA11 | | High Performance | IO_L20P_T3_33 | User IO | | 33 | | | | | | | | | | | | | | -| AA12 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| AA13 | | High Performance | IO_L21N_T3_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | -| AA14 | | High Range | IO_L18P_T2_13 | User IO | | 13 | | | | | | | | | | | | | | -| AA15 | | High Range | IO_L18N_T2_13 | User IO | | 13 | | | | | | | | | | | | | | -| AA16 | | High Range | IO_L17P_T2_13 | User IO | | 13 | | | | | | | | | | | | | | -| AA17 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | -| AA18 | | High Range | IO_L15P_T2_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | -| AA19 | | High Range | IO_L10P_T1_13 | User IO | | 13 | | | | | | | | | | | | | | -| AA20 | | High Range | IO_L8P_T1_13 | User IO | | 13 | | | | | | | | | | | | | | -| AA21 | | High Range | IO_L9P_T1_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | -| AA22 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| AB1 | | High Performance | IO_L22N_T3_34 | User IO | | 34 | | | | | | | | | | | | | | -| AB2 | | High Performance | IO_L23N_T3_34 | User IO | | 34 | | | | | | | | | | | | | | -| AB3 | | High Performance | IO_L24N_T3_34 | User IO | | 34 | | | | | | | | | | | | | | -| AB4 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | -| AB5 | | High Performance | IO_L1N_T0_33 | User IO | | 33 | | | | | | | | | | | | | | -| AB6 | | High Performance | IO_L3N_T0_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | -| AB7 | | High Performance | IO_L2N_T0_33 | User IO | | 33 | | | | | | | | | | | | | | -| AB8 | | High Performance | IO_L2P_T0_33 | User IO | | 33 | | | | | | | | | | | | | | -| AB9 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| AB10 | | High Performance | IO_L4N_T0_33 | User IO | | 33 | | | | | | | | | | | | | | -| AB11 | | High Performance | IO_L20N_T3_33 | User IO | | 33 | | | | | | | | | | | | | | -| AB12 | | High Performance | IO_L22N_T3_33 | User IO | | 33 | | | | | | | | | | | | | | -| AB13 | | High Performance | IO_L22P_T3_33 | User IO | | 33 | | | | | | | | | | | | | | -| AB14 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | -| AB15 | | High Range | IO_L16P_T2_13 | User IO | | 13 | | | | | | | | | | | | | | -| AB16 | | High Range | IO_L16N_T2_13 | User IO | | 13 | | | | | | | | | | | | | | -| AB17 | | High Range | IO_L17N_T2_13 | User IO | | 13 | | | | | | | | | | | | | | -| AB18 | | High Range | IO_L15N_T2_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | -| AB19 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| AB20 | | High Range | IO_L10N_T1_13 | User IO | | 13 | | | | | | | | | | | | | | -| AB21 | | High Range | IO_L8N_T1_13 | User IO | | 13 | | | | | | | | | | | | | | -| AB22 | | High Range | IO_L9N_T1_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | -| B1 | | | MGTXTXN2_115 | Gigabit | | | | | | | | | | | | | | | | -| B2 | | | MGTXTXP2_115 | Gigabit | | | | | | | | | | | | | | | | -| B3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| B4 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| B5 | | | MGTXRXN3_115 | Gigabit | | | | | | | | | | | | | | | | -| B6 | | | MGTXRXP3_115 | Gigabit | | | | | | | | | | | | | | | | -| B7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| B8 | | High Range | IO_L22N_T3_16 | User IO | | 16 | | | | | | | | | | | | | | -| B9 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| B10 | | High Range | IO_L20N_T3_16 | User IO | | 16 | | | | | | | | | | | | | | -| B11 | | High Range | IO_L20P_T3_16 | User IO | | 16 | | | | | | | | | | | | | | -| B12 | | High Range | IO_L2N_T0_AD8N_15 | User IO | | 15 | | | | | | | | | | | | | | -| B13 | | High Range | IO_L5N_T0_AD2N_15 | User IO | | 15 | | | | | | | | | | | | | | -| B14 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | -| B15 | | High Range | IO_L9P_T1_DQS_AD11P_15 | User IO | | 15 | | | | | | | | | | | | | | -| B16 | | High Range | IO_L8P_T1_AD3P_15 | User IO | | 15 | | | | | | | | | | | | | | -| B17 | | High Range | IO_L10P_T1_AD4P_15 | User IO | | 15 | | | | | | | | | | | | | | -| B18 | | High Range | IO_L20P_T3_A20_15 | User IO | | 15 | | | | | | | | | | | | | | -| B19 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| B20 | | High Range | IO_L24P_T3_RS1_15 | User IO | | 15 | | | | | | | | | | | | | | -| B21 | | High Range | IO_L24N_T3_RS0_15 | User IO | | 15 | | | | | | | | | | | | | | -| B22 | | High Range | IO_L21N_T3_DQS_A18_15 | User IO | | 15 | | | | | | | | | | | | | | -| C1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| C2 | | | MGTAVTT | Gigabit Power | | | | | | | | | | | | | | | | -| C3 | | | MGTXRXN2_115 | Gigabit | | | | | | | | | | | | | | | | -| C4 | | | MGTXRXP2_115 | Gigabit | | | | | | | | | | | | | | | | -| C5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| C6 | | | MGTAVCC | Gigabit Power | | | | | | | | | | | | | | | | -| C7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| C8 | | High Range | IO_L22P_T3_16 | User IO | | 16 | | | | | | | | | | | | | | -| C9 | | High Range | IO_L19N_T3_VREF_16 | User IO | | 16 | | | | | | | | | | | | | | -| C10 | | High Range | IO_L7N_T1_16 | User IO | | 16 | | | | | | | | | | | | | | -| C11 | | High Range | VCCO_16 | VCCO | | 16 | | | | | any** | | | | | | | | | -| C12 | | High Range | IO_L2P_T0_AD8P_15 | User IO | | 15 | | | | | | | | | | | | | | -| C13 | | High Range | IO_L5P_T0_AD2P_15 | User IO | | 15 | | | | | | | | | | | | | | -| C14 | | High Range | IO_L7P_T1_AD10P_15 | User IO | | 15 | | | | | | | | | | | | | | -| C15 | | High Range | IO_L7N_T1_AD10N_15 | User IO | | 15 | | | | | | | | | | | | | | -| C16 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| C17 | | High Range | IO_L12P_T1_MRCC_AD5P_15 | User IO | | 15 | | | | | | | | | | | | | | -| C18 | | High Range | IO_L12N_T1_MRCC_AD5N_15 | User IO | | 15 | | | | | | | | | | | | | | -| C19 | | High Range | IO_L19P_T3_A22_15 | User IO | | 15 | | | | | | | | | | | | | | -| C20 | | High Range | IO_L19N_T3_A21_VREF_15 | User IO | | 15 | | | | | | | | | | | | | | -| C21 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | -| C22 | | High Range | IO_L21P_T3_DQS_15 | User IO | | 15 | | | | | | | | | | | | | | -| D1 | | | MGTXTXN1_115 | Gigabit | | | | | | | | | | | | | | | | -| D2 | | | MGTXTXP1_115 | Gigabit | | | | | | | | | | | | | | | | -| D3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| D4 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| D5 | | | MGTREFCLK0N_115 | Gigabit | | | | | | | | | | | | | | | | -| D6 | | | MGTREFCLK0P_115 | Gigabit | | | | | | | | | | | | | | | | -| D7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| D8 | | High Range | VCCO_16 | VCCO | | 16 | | | | | any** | | | | | | | | | -| D9 | | High Range | IO_L19P_T3_16 | User IO | | 16 | | | | | | | | | | | | | | -| D10 | | High Range | IO_L7P_T1_16 | User IO | | 16 | | | | | | | | | | | | | | -| D11 | | High Range | IO_L12N_T1_MRCC_16 | User IO | | 16 | | | | | | | | | | | | | | -| D12 | | High Range | IO_0_15 | User IO | | 15 | | | | | | | | | | | | | | -| D13 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| D14 | | High Range | IO_L6N_T0_VREF_15 | User IO | | 15 | | | | | | | | | | | | | | -| D15 | | High Range | IO_L11P_T1_SRCC_AD12P_15 | User IO | | 15 | | | | | | | | | | | | | | -| D16 | | High Range | IO_L11N_T1_SRCC_AD12N_15 | User IO | | 15 | | | | | | | | | | | | | | -| D17 | | High Range | IO_L14N_T2_SRCC_15 | User IO | | 15 | | | | | | | | | | | | | | -| D18 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | -| D19 | | High Range | IO_L18P_T2_A24_15 | User IO | | 15 | | | | | | | | | | | | | | -| D20 | | High Range | IO_L18N_T2_A23_15 | User IO | | 15 | | | | | | | | | | | | | | -| D21 | | High Range | IO_L23P_T3_FOE_B_15 | User IO | | 15 | | | | | | | | | | | | | | -| D22 | | High Range | IO_L23N_T3_FWE_B_15 | User IO | | 15 | | | | | | | | | | | | | | -| E1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| E2 | | | MGTAVTT | Gigabit Power | | | | | | | | | | | | | | | | -| E3 | | | MGTXRXN1_115 | Gigabit | | | | | | | | | | | | | | | | -| E4 | | | MGTXRXP1_115 | Gigabit | | | | | | | | | | | | | | | | -| E5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| E6 | | | MGTAVCC | Gigabit Power | | | | | | | | | | | | | | | | -| E7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| E8 | | High Range | IO_24_T3_16 | User IO | | 16 | | | | | | | | | | | | | | -| E9 | | High Range | IO_L15N_T2_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | -| E10 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| E11 | | High Range | IO_L12P_T1_MRCC_16 | User IO | | 16 | | | | | | | | | | | | | | -| E12 | | High Range | IO_L10N_T1_16 | User IO | | 16 | | | | | | | | | | | | | | -| E13 | | High Range | IO_L10P_T1_16 | User IO | | 16 | | | | | | | | | | | | | | -| E14 | | High Range | IO_L6P_T0_15 | User IO | | 15 | | | | | | | | | | | | | | -| E15 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | -| E16 | | High Range | IO_L14P_T2_SRCC_15 | User IO | | 15 | | | | | | | | | | | | | | -| E17 | | High Range | IO_L13P_T2_MRCC_15 | User IO | | 15 | | | | | | | | | | | | | | -| E18 | | High Range | IO_L13N_T2_MRCC_15 | User IO | | 15 | | | | | | | | | | | | | | -| E19 | | High Range | IO_L17N_T2_A25_15 | User IO | | 15 | | | | | | | | | | | | | | -| E20 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| E21 | | High Range | IO_L7P_T1_D09_14 | User IO | | 14 | | | | | | | | | | | | | | -| E22 | | High Range | IO_L7N_T1_D10_14 | User IO | | 14 | | | | | | | | | | | | | | -| F1 | | | MGTXTXN0_115 | Gigabit | | | | | | | | | | | | | | | | -| F2 | | | MGTXTXP0_115 | Gigabit | | | | | | | | | | | | | | | | -| F3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| F4 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| F5 | | | MGTREFCLK1N_115 | Gigabit | | | | | | | | | | | | | | | | -| F6 | | | MGTREFCLK1P_115 | Gigabit | | | | | | | | | | | | | | | | -| F7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| F8 | | High Range | IO_L17N_T2_16 | User IO | | 16 | | | | | | | | | | | | | | -| F9 | | High Range | IO_L15P_T2_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | -| F10 | | High Range | IO_L11N_T1_SRCC_16 | User IO | | 16 | | | | | | | | | | | | | | -| F11 | | High Range | IO_L11P_T1_SRCC_16 | User IO | | 16 | | | | | | | | | | | | | | -| F12 | | High Range | VCCO_16 | VCCO | | 16 | | | | | any** | | | | | | | | | -| F13 | | High Range | IO_L8N_T1_16 | User IO | | 16 | | | | | | | | | | | | | | -| F14 | | High Range | IO_6_T0_VREF_16 | User IO | | 16 | | | | | | | | | | | | | | -| F15 | | High Range | IO_L3P_T0_DQS_AD1P_15 | User IO | | 15 | | | | | | | | | | | | | | -| F16 | | High Range | IO_L3N_T0_DQS_AD1N_15 | User IO | | 15 | | | | | | | | | | | | | | -| F17 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| F18 | | High Range | IO_L17P_T2_A26_15 | User IO | | 15 | | | | | | | | | | | | | | -| F19 | | High Range | IO_L2N_T0_D03_14 | User IO | | 14 | | | | | | | | | | | | | | -| F20 | | High Range | IO_L4N_T0_D05_14 | User IO | | 14 | | | | | | | | | | | | | | -| F21 | | High Range | IO_L9N_T1_DQS_D13_14 | User IO | | 14 | | | | | | | | | | | | | | -| F22 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | -| G1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| G2 | | | MGTAVTT | Gigabit Power | | | | | | | | | | | | | | | | -| G3 | | | MGTXRXN0_115 | Gigabit | | | | | | | | | | | | | | | | -| G4 | | | MGTXRXP0_115 | Gigabit | | | | | | | | | | | | | | | | -| G5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| G6 | | | MGTAVCC | Gigabit Power | | | | | | | | | | | | | | | | -| G7 | | Dedicated | CCLK_0 | Config | | 0 | | | | | | | | | | | | | | -| G8 | | High Range | IO_L17P_T2_16 | User IO | | 16 | | | | | | | | | | | | | | -| G9 | | High Range | VCCO_16 | VCCO | | 16 | | | | | any** | | | | | | | | | -| G10 | | High Range | IO_L13N_T2_MRCC_16 | User IO | | 16 | | | | | | | | | | | | | | -| G11 | | High Range | IO_L13P_T2_MRCC_16 | User IO | | 16 | | | | | | | | | | | | | | -| G12 | | High Range | IO_L14N_T2_SRCC_16 | User IO | | 16 | | | | | | | | | | | | | | -| G13 | | High Range | IO_L8P_T1_16 | User IO | | 16 | | | | | | | | | | | | | | -| G14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| G15 | | High Range | IO_L1P_T0_AD0P_15 | User IO | | 15 | | | | | | | | | | | | | | -| G16 | | High Range | IO_L1N_T0_AD0N_15 | User IO | | 15 | | | | | | | | | | | | | | -| G17 | | High Range | IO_L15N_T2_DQS_ADV_B_15 | User IO | | 15 | | | | | | | | | | | | | | -| G18 | | High Range | IO_L2P_T0_D02_14 | User IO | | 14 | | | | | | | | | | | | | | -| G19 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | -| G20 | | High Range | IO_L4P_T0_D04_14 | User IO | | 14 | | | | | | | | | | | | | | -| G21 | | High Range | IO_L9P_T1_DQS_14 | User IO | | 14 | | | | | | | | | | | | | | -| G22 | | High Range | IO_L8N_T1_D12_14 | User IO | | 14 | | | | | | | | | | | | | | -| H1 | | | MGTAVTTRCAL_115 | Gigabit | | | | | | | | | | | | | | | | -| H2 | | | MGTRREF_115 | Gigabit | | | | | | | | | | | | | | | | -| H3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| H4 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| H5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| H6 | | Dedicated | M1_0 | Config | | 0 | | | | | | | | | | | | | | -| H7 | | Dedicated | M0_0 | Config | | 0 | | | | | | | | | | | | | | -| H8 | | High Range | IO_L16N_T2_16 | User IO | | 16 | | | | | | | | | | | | | | -| H9 | | High Range | IO_L16P_T2_16 | User IO | | 16 | | | | | | | | | | | | | | -| H10 | | High Range | IO_18_T2_16 | User IO | | 16 | | | | | | | | | | | | | | -| H11 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| H12 | | High Range | IO_L14P_T2_SRCC_16 | User IO | | 16 | | | | | | | | | | | | | | -| H13 | | High Range | IO_L9N_T1_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | -| H14 | | High Range | IO_L9P_T1_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | -| H15 | | High Range | IO_25_15 | User IO | | 15 | | | | | | | | | | | | | | -| H16 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | -| H17 | | High Range | IO_L15P_T2_DQS_15 | User IO | | 15 | | | | | | | | | | | | | | -| H18 | | High Range | IO_L1P_T0_D00_MOSI_14 | User IO | | 14 | | | | | | | | | | | | | | -| H19 | | High Range | IO_L1N_T0_D01_DIN_14 | User IO | | 14 | | | | | | | | | | | | | | -| H20 | | High Range | IO_L11N_T1_SRCC_14 | User IO | | 14 | | | | | | | | | | | | | | -| H21 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| H22 | | High Range | IO_L8P_T1_D11_14 | User IO | | 14 | | | | | | | | | | | | | | -| J1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| J2 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| J3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| J4 | | | MGTVCCAUX | Gigabit Power | | | | | | | | | | | | | | | | -| J5 | | Dedicated | M2_0 | Config | | 0 | | | | | | | | | | | | | | -| J6 | | Dedicated | TDO_0 | Config | | 0 | | | | | | | | | | | | | | -| J7 | | Dedicated | VCCO_0 | VCCO | | 0 | | | | | any** | | | | | | | | | -| J8 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| J9 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| J10 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| J11 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| J12 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| J13 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| J14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| J15 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| J16 | | High Range | IO_L16P_T2_A28_15 | User IO | | 15 | | | | | | | | | | | | | | -| J17 | | High Range | IO_L16N_T2_A27_15 | User IO | | 15 | | | | | | | | | | | | | | -| J18 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| J19 | | High Range | IO_L3N_T0_DQS_EMCCLK_14 | User IO | | 14 | | | | | | | | | | | | | | -| J20 | | High Range | IO_L11P_T1_SRCC_14 | User IO | | 14 | | | | | | | | | | | | | | -| J21 | | High Range | IO_L10P_T1_D14_14 | User IO | | 14 | | | | | | | | | | | | | | -| J22 | | High Range | IO_L10N_T1_D15_14 | User IO | | 14 | | | | | | | | | | | | | | -| K1 | | High Performance | IO_L2P_T0_34 | User IO | | 34 | | | | | | | | | | | | | | -| K2 | | High Performance | IO_L4N_T0_34 | User IO | | 34 | | | | | | | | | | | | | | -| K3 | | High Performance | IO_L4P_T0_34 | User IO | | 34 | | | | | | | | | | | | | | -| K4 | | High Performance | IO_0_VRN_34 | User IO | | 34 | | | | | | | | | | | | | | -| K5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| K6 | | Dedicated | TDI_0 | Config | | 0 | | | | | | | | | | | | | | -| K7 | | Dedicated | TCK_0 | Config | | 0 | | | | | | | | | | | | | | -| K8 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| K9 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| K10 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | -| K11 | | Dedicated | GNDADC_0 | XADC | | 0 | | | | | | | | | | | | | | -| K12 | | Dedicated | VCCADC_0 | XADC | | 0 | | | | | | | | | | | | | | -| K13 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| K14 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| K15 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| K16 | | High Range | IO_0_14 | User IO | | 14 | | | | | | | | | | | | | | -| K17 | | High Range | IO_L6N_T0_D08_VREF_14 | User IO | | 14 | | | | | | | | | | | | | | -| K18 | | High Range | IO_L3P_T0_DQS_PUDC_B_14 | User IO | | 14 | | | | | | | | | | | | | | -| K19 | | High Range | IO_L5N_T0_D07_14 | User IO | | 14 | | | | | | | | | | | | | | -| K20 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | -| K21 | | High Range | IO_L16P_T2_CSI_B_14 | User IO | | 14 | | | | | | | | | | | | | | -| K22 | | High Range | IO_L16N_T2_A15_D31_14 | User IO | | 14 | | | | | | | | | | | | | | -| L1 | | High Performance | IO_L2N_T0_34 | User IO | | 34 | | | | | | | | | | | | | | -| L2 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| L3 | | High Performance | IO_L1P_T0_34 | User IO | | 34 | | | | | | | | | | | | | | -| L4 | | High Performance | IO_L6N_T0_VREF_34 | User IO | | 34 | | | | | | | | | | | | | | -| L5 | | High Performance | IO_L6P_T0_34 | User IO | | 34 | | | | | | | | | | | | | | -| L6 | | Dedicated | TMS_0 | Config | | 0 | | | | | | | | | | | | | | -| L7 | | Dedicated | INIT_B_0 | Config | | 0 | | | | | | | | | | | | | | -| L8 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| L9 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| L10 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| L11 | | Dedicated | VREFN_0 | XADC | | 0 | | | | | | | | | | | | | | -| L12 | | Dedicated | VP_0 | XADC | | 0 | | | | | | | | | | | | | | -| L13 | | | VCCBRAM | VCCBRAM | | | | | | | | | | | | | | | | -| L14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| L15 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| L16 | | High Range | IO_L6P_T0_FCS_B_14 | User IO | | 14 | | | | | | | | | | | | | | -| L17 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | -| L18 | | High Range | IO_L5P_T0_D06_14 | User IO | | 14 | | | | | | | | | | | | | | -| L19 | | High Range | IO_L12P_T1_MRCC_14 | User IO | | 14 | | | | | | | | | | | | | | -| L20 | | High Range | IO_L12N_T1_MRCC_14 | User IO | | 14 | | | | | | | | | | | | | | -| L21 | | High Range | IO_L18N_T2_A11_D27_14 | User IO | | 14 | | | | | | | | | | | | | | -| L22 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| M1 | | High Performance | IO_L3N_T0_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | -| M2 | | High Performance | IO_L3P_T0_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | -| M3 | | High Performance | IO_L1N_T0_34 | User IO | | 34 | | | | | | | | | | | | | | -| M4 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | -| M5 | | High Performance | IO_L9P_T1_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | -| M6 | | Dedicated | PROGRAM_B_0 | Config | | 0 | | | | | | | | | | | | | | -| M7 | | Dedicated | CFGBVS_0 | Config | | 0 | | | | | | | | | | | | | | -| M8 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| M9 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| M10 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | -| M11 | | Dedicated | VN_0 | XADC | | 0 | | | | | | | | | | | | | | -| M12 | | Dedicated | VREFP_0 | XADC | | 0 | | | | | | | | | | | | | | -| M13 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| M14 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| M15 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| M16 | | High Range | IO_25_14 | User IO | | 14 | | | | | | | | | | | | | | -| M17 | | High Range | IO_L14P_T2_SRCC_14 | User IO | | 14 | | | | | | | | | | | | | | -| M18 | | High Range | IO_L14N_T2_SRCC_14 | User IO | | 14 | | | | | | | | | | | | | | -| M19 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| M20 | | High Range | IO_L18P_T2_A12_D28_14 | User IO | | 14 | | | | | | | | | | | | | | -| M21 | | High Range | IO_L17N_T2_A13_D29_14 | User IO | | 14 | | | | | | | | | | | | | | -| M22 | | High Range | IO_L15N_T2_DQS_DOUT_CSO_B_14 | User IO | | 14 | | | | | | | | | | | | | | -| N1 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | -| N2 | | High Performance | IO_L5N_T0_34 | User IO | | 34 | | | | | | | | | | | | | | -| N3 | | High Performance | IO_L5P_T0_34 | User IO | | 34 | | | | | | | | | | | | | | -| N4 | | High Performance | IO_L9N_T1_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | -| N5 | | High Performance | IO_L18P_T2_34 | User IO | | 34 | | | | | | | | | | | | | | -| N6 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| N7 | | Dedicated | VCCO_0 | VCCO | | 0 | | | | | any** | | | | | | | | | -| N8 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| N9 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| N10 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| N11 | | Dedicated | DXN_0 | Temp Sensor | | 0 | | | | | | | | | | | | | | -| N12 | | Dedicated | DXP_0 | Temp Sensor | | 0 | | | | | | | | | | | | | | -| N13 | | | VCCBRAM | VCCBRAM | | | | | | | | | | | | | | | | -| N14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| N15 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| N16 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| N17 | | High Range | IO_L23N_T3_A02_D18_14 | User IO | | 14 | | | | | | | | | | | | | | -| N18 | | High Range | IO_L13P_T2_MRCC_14 | User IO | | 14 | | | | | | | | | | | | | | -| N19 | | High Range | IO_L13N_T2_MRCC_14 | User IO | | 14 | | | | | | | | | | | | | | -| N20 | | High Range | IO_L17P_T2_A14_D30_14 | User IO | | 14 | | | | | | | | | | | | | | -| N21 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | -| N22 | | High Range | IO_L15P_T2_DQS_RDWR_B_14 | User IO | | 14 | | | | | | | | | | | | | | -| P1 | | High Performance | IO_L8P_T1_34 | User IO | | 34 | | | | | | | | | | | | | | -| P2 | | High Performance | IO_L7P_T1_34 | User IO | | 34 | | | | | | | | | | | | | | -| P3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| P4 | | High Performance | IO_L11P_T1_SRCC_34 | User IO | | 34 | | | | | | | | | | | | | | -| P5 | | High Performance | IO_L18N_T2_34 | User IO | | 34 | | | | | | | | | | | | | | -| P6 | | Dedicated | DONE_0 | Config | | 0 | | | | | | | | | | | | | | -| P7 | | Dedicated | VCCBATT_0 | Config | | 0 | | | | | | | | | | | | | | -| P8 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | -| P9 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| P10 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | -| P11 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| P12 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | -| P13 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| P14 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| P15 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| P16 | | High Range | IO_L23P_T3_A03_D19_14 | User IO | | 14 | | | | | | | | | | | | | | -| P17 | | High Range | IO_L21N_T3_DQS_A06_D22_14 | User IO | | 14 | | | | | | | | | | | | | | -| P18 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | -| P19 | | High Range | IO_L20P_T3_A08_D24_14 | User IO | | 14 | | | | | | | | | | | | | | -| P20 | | High Range | IO_L20N_T3_A07_D23_14 | User IO | | 14 | | | | | | | | | | | | | | -| P21 | | High Range | IO_L22P_T3_A05_D21_14 | User IO | | 14 | | | | | | | | | | | | | | -| P22 | | High Range | IO_L22N_T3_A04_D20_14 | User IO | | 14 | | | | | | | | | | | | | | -| R1 | | High Performance | IO_L8N_T1_34 | User IO | | 34 | | | | | | | | | | | | | | -| R2 | | High Performance | IO_L7N_T1_34 | User IO | | 34 | | | | | | | | | | | | | | -| R3 | | High Performance | IO_L12P_T1_MRCC_34 | User IO | | 34 | | | | | | | | | | | | | | -| R4 | | High Performance | IO_L11N_T1_SRCC_34 | User IO | | 34 | | | | | | | | | | | | | | -| R5 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | -| R6 | | High Performance | IO_L8N_T1_33 | User IO | | 33 | | | | | | | | | | | | | | -| R7 | | High Performance | IO_L8P_T1_33 | User IO | | 33 | | | | | | | | | | | | | | -| R8 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| R9 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | -| R10 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| R11 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | -| R12 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| R13 | | | VCCBRAM | VCCBRAM | | | | | | | | | | | | | | | | -| R14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| R15 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | -| R16 | | High Range | IO_L20P_T3_13 | User IO | | 13 | | | | | | | | | | | | | | -| R17 | | High Range | IO_L21P_T3_DQS_14 | User IO | | 14 | | | | | | | | | | | | | | -| R18 | | High Range | IO_L19P_T3_A10_D26_14 | User IO | | 14 | | | | | | | | | | | | | | -| R19 | | High Range | IO_L19N_T3_A09_D25_VREF_14 | User IO | | 14 | | | | | | | | | | | | | | -| R20 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| R21 | | High Range | IO_L24P_T3_A01_D17_14 | User IO | | 14 | | | | | | | | | | | | | | -| R22 | | High Range | IO_L24N_T3_A00_D16_14 | User IO | | 14 | | | | | | | | | | | | | | -| T1 | | High Performance | IO_L10P_T1_34 | User IO | | 34 | | | | | | | | | | | | | | -| T2 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | -| T3 | | High Performance | IO_L12N_T1_MRCC_34 | User IO | | 34 | | | | | | | | | | | | | | -| T4 | | High Performance | IO_L13P_T2_MRCC_34 | User IO | | 34 | | | | | | | | | | | | | | -| T5 | | High Performance | IO_L16P_T2_34 | User IO | | 34 | | | | | | | | | | | | | | -| T6 | | High Performance | IO_0_VRN_33 | User IO | | 33 | | | | | | | | | | | | | | -| T7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| T8 | | High Performance | IO_L18N_T2_33 | User IO | | 33 | | | | | | | | | | | | | | -| T9 | | High Performance | IO_L18P_T2_33 | User IO | | 33 | | | | | | | | | | | | | | -| T10 | | High Performance | IO_L16N_T2_33 | User IO | | 33 | | | | | | | | | | | | | | -| T11 | | High Performance | IO_L16P_T2_33 | User IO | | 33 | | | | | | | | | | | | | | -| T12 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | -| T13 | | High Performance | IO_L24P_T3_33 | User IO | | 33 | | | | | | | | | | | | | | -| T14 | | High Performance | IO_25_VRP_33 | User IO | | 33 | | | | | | | | | | | | | | -| T15 | | High Range | IO_L24P_T3_13 | User IO | | 13 | | | | | | | | | | | | | | -| T16 | | High Range | IO_L20N_T3_13 | User IO | | 13 | | | | | | | | | | | | | | -| T17 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| T18 | | High Range | IO_L3P_T0_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | -| T19 | | High Range | IO_0_13 | User IO | | 13 | | | | | | | | | | | | | | -| T20 | | High Range | IO_L6P_T0_13 | User IO | | 13 | | | | | | | | | | | | | | -| T21 | | High Range | IO_L1P_T0_13 | User IO | | 13 | | | | | | | | | | | | | | -| T22 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | -| U1 | | High Performance | IO_L10N_T1_34 | User IO | | 34 | | | | | | | | | | | | | | -| U2 | | High Performance | IO_L15P_T2_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | -| U3 | | High Performance | IO_L13N_T2_MRCC_34 | User IO | | 34 | | | | | | | | | | | | | | -| U4 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| U5 | | High Performance | IO_L16N_T2_34 | User IO | | 34 | | | | | | | | | | | | | | -| U6 | | High Performance | IO_L10N_T1_33 | User IO | | 33 | | | | | | | | | | | | | | -| U7 | | High Performance | IO_L10P_T1_33 | User IO | | 33 | | | | | | | | | | | | | | -| U8 | | High Performance | IO_L9P_T1_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | -| U9 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | -| U10 | | High Performance | IO_L14P_T2_SRCC_33 | User IO | | 33 | | | | | | | | | | | | | | -| U11 | | High Performance | IO_L17N_T2_33 | User IO | | 33 | | | | | | | | | | | | | | -| U12 | | High Performance | IO_L17P_T2_33 | User IO | | 33 | | | | | | | | | | | | | | -| U13 | | High Performance | IO_L24N_T3_33 | User IO | | 33 | | | | | | | | | | | | | | -| U14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| U15 | reset | High Range | IO_L24N_T3_13 | INPUT | LVCMOS18* | 13 | | | | NONE | | UNFIXED | | | | NONE | | | | -| U16 | | High Range | IO_L19P_T3_13 | User IO | | 13 | | | | | | | | | | | | | | -| U17 | | High Range | IO_L5P_T0_13 | User IO | | 13 | | | | | | | | | | | | | | -| U18 | | High Range | IO_L3N_T0_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | -| U19 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | -| U20 | | High Range | IO_L6N_T0_VREF_13 | User IO | | 13 | | | | | | | | | | | | | | -| U21 | | High Range | IO_L1N_T0_13 | User IO | | 13 | | | | | | | | | | | | | | -| U22 | | High Range | IO_L2P_T0_13 | User IO | | 13 | | | | | | | | | | | | | | -| V1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| V2 | | High Performance | IO_L15N_T2_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | -| V3 | | High Performance | IO_L17P_T2_34 | User IO | | 34 | | | | | | | | | | | | | | -| V4 | | High Performance | IO_L14P_T2_SRCC_34 | User IO | | 34 | | | | | | | | | | | | | | -| V5 | | High Performance | IO_25_VRP_34 | User IO | | 34 | | | | | | | | | | | | | | -| V6 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | -| V7 | | High Performance | IO_L11P_T1_SRCC_33 | User IO | | 33 | | | | | | | | | | | | | | -| V8 | | High Performance | IO_L9N_T1_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | -| V9 | | High Performance | IO_L14N_T2_SRCC_33 | User IO | | 33 | | | | | | | | | | | | | | -| V10 | | High Performance | IO_L15P_T2_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | -| V11 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| V12 | | High Performance | IO_L23N_T3_33 | User IO | | 33 | | | | | | | | | | | | | | -| V13 | | High Performance | IO_L23P_T3_33 | User IO | | 33 | | | | | | | | | | | | | | -| V14 | done | High Range | IO_25_13 | OUTPUT | LVCMOS18* | 13 | 12 | SLOW | | FP_VTT_50 | | UNFIXED | | | | NONE | | | | -| V15 | | High Range | IO_L23P_T3_13 | User IO | | 13 | | | | | | | | | | | | | | -| V16 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | -| V17 | | High Range | IO_L19N_T3_VREF_13 | User IO | | 13 | | | | | | | | | | | | | | -| V18 | | High Range | IO_L5N_T0_13 | User IO | | 13 | | | | | | | | | | | | | | -| V19 | | High Range | IO_L12P_T1_MRCC_13 | User IO | | 13 | | | | | | | | | | | | | | -| V20 | clk | High Range | IO_L11P_T1_SRCC_13 | INPUT | LVCMOS18* | 13 | | | | NONE | | UNFIXED | | | | NONE | | | | -| V21 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| V22 | | High Range | IO_L2N_T0_13 | User IO | | 13 | | | | | | | | | | | | | | -| W1 | | High Performance | IO_L20P_T3_34 | User IO | | 34 | | | | | | | | | | | | | | -| W2 | | High Performance | IO_L17N_T2_34 | User IO | | 34 | | | | | | | | | | | | | | -| W3 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | -| W4 | | High Performance | IO_L14N_T2_SRCC_34 | User IO | | 34 | | | | | | | | | | | | | | -| W5 | | High Performance | IO_L19P_T3_34 | User IO | | 34 | | | | | | | | | | | | | | -| W6 | | High Performance | IO_L7P_T1_33 | User IO | | 33 | | | | | | | | | | | | | | -| W7 | | High Performance | IO_L11N_T1_SRCC_33 | User IO | | 33 | | | | | | | | | | | | | | -| W8 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| W9 | | High Performance | IO_L13P_T2_MRCC_33 | User IO | | 33 | | | | | | | | | | | | | | -| W10 | | High Performance | IO_L15N_T2_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | -| W11 | | High Performance | IO_L6P_T0_33 | User IO | | 33 | | | | | | | | | | | | | | -| W12 | | High Performance | IO_L19P_T3_33 | User IO | | 33 | | | | | | | | | | | | | | -| W13 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | -| W14 | | High Range | IO_L22P_T3_13 | User IO | | 13 | | | | | | | | | | | | | | -| W15 | | High Range | IO_L23N_T3_13 | User IO | | 13 | | | | | | | | | | | | | | -| W16 | | High Range | IO_L21P_T3_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | -| W17 | | High Range | IO_L14P_T2_SRCC_13 | User IO | | 13 | | | | | | | | | | | | | | -| W18 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| W19 | | High Range | IO_L12N_T1_MRCC_13 | User IO | | 13 | | | | | | | | | | | | | | -| W20 | | High Range | IO_L11N_T1_SRCC_13 | User IO | | 13 | | | | | | | | | | | | | | -| W21 | | High Range | IO_L4P_T0_13 | User IO | | 13 | | | | | | | | | | | | | | -| W22 | | High Range | IO_L4N_T0_13 | User IO | | 13 | | | | | | | | | | | | | | -| Y1 | | High Performance | IO_L20N_T3_34 | User IO | | 34 | | | | | | | | | | | | | | -| Y2 | | High Performance | IO_L21N_T3_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | -| Y3 | | High Performance | IO_L21P_T3_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | -| Y4 | | High Performance | IO_L19N_T3_VREF_34 | User IO | | 34 | | | | | | | | | | | | | | -| Y5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| Y6 | | High Performance | IO_L7N_T1_33 | User IO | | 33 | | | | | | | | | | | | | | -| Y7 | | High Performance | IO_L12N_T1_MRCC_33 | User IO | | 33 | | | | | | | | | | | | | | -| Y8 | | High Performance | IO_L12P_T1_MRCC_33 | User IO | | 33 | | | | | | | | | | | | | | -| Y9 | | High Performance | IO_L13N_T2_MRCC_33 | User IO | | 33 | | | | | | | | | | | | | | -| Y10 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | -| Y11 | | High Performance | IO_L6N_T0_VREF_33 | User IO | | 33 | | | | | | | | | | | | | | -| Y12 | | High Performance | IO_L19N_T3_VREF_33 | User IO | | 33 | | | | | | | | | | | | | | -| Y13 | | High Performance | IO_L21P_T3_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | -| Y14 | | High Range | IO_L22N_T3_13 | User IO | | 13 | | | | | | | | | | | | | | -| Y15 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | -| Y16 | | High Range | IO_L21N_T3_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | -| Y17 | | High Range | IO_L14N_T2_SRCC_13 | User IO | | 13 | | | | | | | | | | | | | | -| Y18 | | High Range | IO_L13P_T2_MRCC_13 | User IO | | 13 | | | | | | | | | | | | | | -| Y19 | | High Range | IO_L13N_T2_MRCC_13 | User IO | | 13 | | | | | | | | | | | | | | -| Y20 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | -| Y21 | | High Range | IO_L7P_T1_13 | User IO | | 13 | | | | | | | | | | | | | | -| Y22 | | High Range | IO_L7N_T1_13 | User IO | | 13 | | | | | | | | | | | | | | -+------------+-------------+------------------+------------------------------+---------------+-------------+---------+------------+------+---------------------+----------------------+-----------+------------+-----------+----------+------+------------------+--------------+-------------------+--------------+ -* Default value -** Special VCCO requirements may apply. Please consult the device family datasheet for specific guideline on VCCO requirements. - - diff --git a/lab2CA.runs/impl_1/CPU9bits_methodology_drc_routed.pb b/lab2CA.runs/impl_1/CPU9bits_methodology_drc_routed.pb deleted file mode 100644 index e0f8955b965a8fae888d67ffd231ba8ecfecdc25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52 zcmd;LGcqtV(=(jJEajV8l98X1pOc?nso - Max violations: - Violations found: 3 -+-----------+----------+-----------------------------+------------+ -| Rule | Severity | Description | Violations | -+-----------+----------+-----------------------------+------------+ -| TIMING-17 | Warning | Non-clocked sequential cell | 3 | -+-----------+----------+-----------------------------+------------+ - -2. REPORT DETAILS ------------------ -TIMING-17#1 Warning -Non-clocked sequential cell -The clock pin FetchU/PC/Dout_reg[0]/C is not reached by a timing clock -Related violations: - -TIMING-17#2 Warning -Non-clocked sequential cell -The clock pin FetchU/PC/Dout_reg[1]/C is not reached by a timing clock -Related violations: - -TIMING-17#3 Warning -Non-clocked sequential cell -The clock pin FetchU/PC/Dout_reg[2]/C is not reached by a timing clock -Related violations: - - diff --git a/lab2CA.runs/impl_1/CPU9bits_opt.dcp b/lab2CA.runs/impl_1/CPU9bits_opt.dcp deleted file mode 100644 index 671933674f3f020fddeddeb6f6fa41eddbaca6b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8284 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 NW{z_9icZ=B{{=n!`a%Ez diff --git a/lab2CA.runs/impl_1/CPU9bits_placed.dcp b/lab2CA.runs/impl_1/CPU9bits_placed.dcp deleted file mode 100644 index 25b333a2bd3e9a1852ecfc33095e487b9670a53d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122670 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঍LMxnw{#Nt&f6Ns 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 q^&JughwYHHZ*l<3J}UZ(uUfhVfF9T$r6 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 - - -1.1 On-Chip Components ----------------------- - -+----------------+-----------+----------+-----------+-----------------+ -| On-Chip | Power (W) | Used | Available | Utilization (%) | -+----------------+-----------+----------+-----------+-----------------+ -| Slice Logic | 0.019 | 10 | --- | --- | -| LUT as Logic | 0.012 | 2 | 101400 | <0.01 | -| BUFG | 0.005 | 1 | 32 | 3.13 | -| Register | 0.001 | 3 | 202800 | <0.01 | -| Others | 0.000 | 2 | --- | --- | -| Signals | 0.018 | 7 | --- | --- | -| I/O | 0.074 | 3 | 285 | 1.05 | -| Static Power | 0.086 | | | | -| Total | 0.198 | | | | -+----------------+-----------+----------+-----------+-----------------+ - - -1.2 Power Supply Summary ------------------------- - -+-----------+-------------+-----------+-------------+------------+ -| Source | Voltage (V) | Total (A) | Dynamic (A) | Static (A) | -+-----------+-------------+-----------+-------------+------------+ -| Vccint | 0.950 | 0.070 | 0.047 | 0.023 | -| Vccaux | 1.800 | 0.022 | 0.005 | 0.016 | -| Vcco33 | 3.300 | 0.000 | 0.000 | 0.000 | -| Vcco25 | 2.500 | 0.000 | 0.000 | 0.000 | -| Vcco18 | 1.800 | 0.033 | 0.032 | 0.001 | -| Vcco15 | 1.500 | 0.000 | 0.000 | 0.000 | -| Vcco135 | 1.350 | 0.000 | 0.000 | 0.000 | -| Vcco12 | 1.200 | 0.000 | 0.000 | 0.000 | -| Vccaux_io | 1.800 | 0.000 | 0.000 | 0.000 | -| Vccbram | 0.950 | 0.001 | 0.000 | 0.001 | -| MGTAVcc | 1.000 | 0.000 | 0.000 | 0.000 | -| MGTAVtt | 1.200 | 0.000 | 0.000 | 0.000 | -| MGTVccaux | 1.800 | 0.000 | 0.000 | 0.000 | -| Vccadc | 1.800 | 0.018 | 0.000 | 0.018 | -+-----------+-------------+-----------+-------------+------------+ - - -1.3 Confidence Level --------------------- - -+-----------------------------+------------+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ -| User Input Data | Confidence | Details | Action | -+-----------------------------+------------+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ -| Design implementation state | High | Design is routed | | -| Clock nodes activity | Low | User specified less than 75% of clocks | Provide missing clock activity with a constraint file, simulation results or by editing the "By Clock Domain" view | -| I/O nodes activity | Low | More than 75% of inputs are missing user specification | Provide missing input activity with simulation results or by editing the "By Resource Type -> I/Os" view | -| Internal nodes activity | Medium | User specified less than 25% of internal nodes | Provide missing internal nodes activity with simulation results or by editing the "By Resource Type" views | -| Device models | High | Device models are Production | | -| | | | | -| Overall confidence level | Low | | | -+-----------------------------+------------+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ - - -2. Settings ------------ - -2.1 Environment ---------------- - -+-----------------------+--------------------------+ -| Ambient Temp (C) | 25.0 | -| ThetaJA (C/W) | 2.5 | -| Airflow (LFM) | 250 | -| Heat Sink | medium (Medium Profile) | -| ThetaSA (C/W) | 4.2 | -| Board Selection | medium (10"x10") | -| # of Board Layers | 12to15 (12 to 15 Layers) | -| Board Temperature (C) | 25.0 | -+-----------------------+--------------------------+ - - -2.2 Clock Constraints ---------------------- - -+-------+--------+-----------------+ -| Clock | Domain | Constraint (ns) | -+-------+--------+-----------------+ - - -3. Detailed Reports -------------------- - -3.1 By Hierarchy ----------------- - -+----------+-----------+ -| Name | Power (W) | -+----------+-----------+ -| CPU9bits | 0.111 | -| FetchU | 0.020 | -| PC | 0.020 | -+----------+-----------+ - - diff --git a/lab2CA.runs/impl_1/CPU9bits_power_summary_routed.pb b/lab2CA.runs/impl_1/CPU9bits_power_summary_routed.pb deleted file mode 100644 index 7f38109452b6144369a08abf402022016369c20d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 722 zcmZ|NF=!M)6b9fKqF0Ck(Mk|AO=4j@lEY}!T=b4pj2eiA#zG~_?%ZYK?##Kfd*=lu zhq9uT5ZI8yDzIRsB5q~n!9qYtA#M{Jjck#^Mz}i8n-fWsEk1r`-tJ?0??A3FGFr%= zUhZ3*5l!k6gBx~BGD)hgaLANXx2Z$9M=ipsXEW*LNy+qBgLy4tQI|E;jV?6>m!4}d z?x}Z~P316=%<*l*V}kcih;T`Rnx1ggwfx^IALZ^=u1zKfS01kx!+wOGm$Sp>=C5LW z1fjWda1^O0)kXvTQ{hB+0HJm%89b3+od|~zdQr+wLQOmj1_dzHM&q~NzAtvi5gI8c z=OBmYA!kZee*sJ;!SEuORlxW%7+e8UZE#&@ZFCcISDVa24)1{3Jutox1{RoVqXo!a zZBmCEJ_NG{7&pP-5twSbEy&3t7(5x>{!)sb;g9>na`F<-o%&tMUg4dcrKMm6kJ00o zqSqJ-J8Kxv{&<5?`yED|Pq^=fXl{MR`>wLu{D%%cRH2g9I8k$Tg|DXhbX}KxUB^SW zq#C=dQc1H`KAiq-4BC z{9PY4^$K*p;oLN}nC~p7IKOApLa(V>BkHPEBwScjZf*YilkfOgg*KR}8mV);*K@`d NmaleF@b*uP{sIOj;+Fsb diff --git a/lab2CA.runs/impl_1/CPU9bits_route_status.pb b/lab2CA.runs/impl_1/CPU9bits_route_status.pb deleted file mode 100644 index e975e2c327a337d2f493a1e4db639d1b381effb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 ycmd;LGcqtV(leRFEE1GoT9T>|T#{H)TC5OUnwy(gRC$1h;eilCgCxfSc?JLqm<+%G diff --git a/lab2CA.runs/impl_1/CPU9bits_route_status.rpt b/lab2CA.runs/impl_1/CPU9bits_route_status.rpt deleted file mode 100644 index ede565f..0000000 --- a/lab2CA.runs/impl_1/CPU9bits_route_status.rpt +++ /dev/null @@ -1,11 +0,0 @@ -Design Route Status - : # nets : - ------------------------------------------- : ----------- : - # of logical nets.......................... : 15 : - # of nets not needing routing.......... : 7 : - # of internally routed nets........ : 7 : - # of routable nets..................... : 8 : - # of fully routed nets............. : 8 : - # of nets with routing errors.......... : 0 : - ------------------------------------------- : ----------- : - diff --git a/lab2CA.runs/impl_1/CPU9bits_routed.dcp b/lab2CA.runs/impl_1/CPU9bits_routed.dcp deleted file mode 100644 index ef49416aa8450c318dc519a1a25fe46075d72646..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126053 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໪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 pKlw - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lab2CA.runs/impl_1/htr.txt b/lab2CA.runs/impl_1/htr.txt deleted file mode 100644 index a32836e..0000000 --- a/lab2CA.runs/impl_1/htr.txt +++ /dev/null @@ -1,9 +0,0 @@ -REM -REM Vivado(TM) -REM htr.txt: a Vivado-generated description of how-to-repeat the -REM the basic steps of a run. Note that runme.bat/sh needs -REM to be invoked for Vivado to track run status. -REM Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. -REM - -vivado -log CPU9bits.vdi -applog -m64 -product Vivado -messageDb vivado.pb -mode batch -source CPU9bits.tcl -notrace diff --git a/lab2CA.runs/impl_1/init_design.pb b/lab2CA.runs/impl_1/init_design.pb deleted file mode 100644 index 89f88ee872713fdfa0dabb22d568e7c0c74f7533..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1622 zcmcIkU2oGc6kWHrW2Qib!~^Ba6WX*@BudJ8y{{+3wo$ zz!UHAr}$qu{UVSsu?M6)B)-@8oO{mA1p`po#4 z0ELvD9R)y!pe=@9$ba5+jY*zdYSl<^!*G~(D_!o}JlI~52Q(sZO|G}0ANS$2M4_jUggBO3v(cvscS*#>1zg*G zq0?f5&!%}jOxfriR4ZE3jaI$v>v84`nV>c`L2{uI#yS#*L=h8ar9}6^HOp#`o-0T1 zfyJilnvUz{T)hiQmT6g5HqHIo zn3iw+u_>scJ`QK6P_K?8YfA_&BqYq|eWo3JwW*g$%qo&5cpncABGZ0Rw0OMEVZYT+kkuG1v| diff --git a/lab2CA.runs/impl_1/opt_design.pb b/lab2CA.runs/impl_1/opt_design.pb deleted file mode 100644 index f807a890d012dca3bf94333e430143d3f71e2523..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10553 zcmeHNUvC@75f3GiN~UU{rj4D-X}h(d*j7#Q{_wBTw2f&+P~+HwWH*7DRyZA(;zi`$ z_4X*qfzYQu^`&Wx2527x1n5IQKtDmB`_xa7$9{nR_Ku|P#5UQ)PYWm3?d9Xga>x(Y{aQxc+vN3v1WbW}Cca^g90X z;LBFFlvh=~{gOL#IP+QNrTHoPGDAOm*Y|nX^(}js`3~FVJ~LRyGPx}{YdIckal`L< zoZVg&w;2{Mg4X2wcq1T5KBjf0wv;o$oMUS@>D9Ha+u>bq`-X3UGGJiHiS|8u<ZS-tg%J0EOgBb$y zb3JZ4cGHsEmr|9Yf#?Qm)3iy{HdD%LT2vMr^crpYh8O5;QLrb5*bCI4D*Dnlu(0qw z!?Jy$U8iaAlqlg^9&blyU8gsr`#7-tHuzxB^+;u#k-3kA1gWtOWj=K&(Y}tTxH-KfK&qZm-#a33XBSk&j zz@IWSLxHiy1?$nTpIBYa?ufg~%yfI~9i}MD!5@2@@s8mNZ1|UB@r>R1 z;68@A+}Oh_a3#Eae;%9wS3Q=9{j*WnO^hU!lAsVnNA-Z-ffYBvjcq6b_ zp~VM|&6(hSfVYnxG?*XG6+v1c%qhLRlnbA2W%XKKFGofBn3h*y65t_?p#aG2h&9^W z+!MX-GOJX%(W;nrpnG7&Q8D~6MLWNtU!`cLo}e97Nzsg|YDz&XX~(K5>*YeZtd2@9 z%9Sy;a^9lX9y+_0$sWW1cCAlS++~tlESjVBwlsi65e9>4RZ-(0y+%_i8|76R+XjdK zfUh5Y+Fwjs+b~S@=hYF^cAQOvwg*9V-!oUoM1JDuS&rTS^h0D>^*n5%x9-U?-=vca^I!0pc|a1*qh z0yiZAZi-S+bUh7nnp!TD^wKfp@V1g5#Hf1ynxVn~3(SPO_K$^yXoR@q!SC!xh=KpD zR73Hd3WpSBrH}(1>b02Ad*dNhOG4@$`c6ZJGsE@~QytgXJ>5iJ4AicY7OF#IN!(u% z>_>Z{?qqX8G_XF<8I8UJfLEz~to~2wuG31@JPs)&Ml$rR+A2Rf5{;EDH-2Q%w{+l^sEJQI& z{^0qo2Ci+my!EdpK=pvM(Z864q(SBiHx*|`=7ogJr0pY-C~YemtOa97bXC&Gr-FSFzU4m)(~_x?J(f#{vrbGK zJM_zmGDR18vR|W8KmR(KbDTKydU2_+YFb|WO!w7^w7c#cjC-7qX;)D7L#xwaV$X7! z*>TK0r0#6amwT4eWIvXvOIw5$2URUC<=g{gvwZChn$eKoO9GXSVx1nV zMI0+|l<_N6pn9PRhmXfjp8t@(`JQDP9o9f0$nK>lX=1v={k?AmvB49|??trmov~$i zo4(z@sj$a8t)4JXPpifx_}LV#EsB$F3;>VTz3?+R3l+TAFLcSe#T*KOmE+=Zfffdg z2~_dqu@ALVRFi#PNVhKa5{4$(+}DmM!4bVrHy_D7G~6w%_3W~DE^l8~%f+XHd!oou&^307D~%PsTvhT9@g2Xl z#=8ZtXN#f**T1b68|zQ&JC-lDfz3kGObYe0a49GrOG_L&mA_?ZYEd8&oxzC<^T{5m z-_j>5hurK1p=B9`QQ0gan?zW?Wpy|kE(MZY4jc4bpXJ@1q(`9UJ@+u_5y&*U`6zo| zWS-a1g+7K$WpI?ggdVY<(2Wh=^0;VA&%d@F$V^zi<5@gt3!2t+^w5}SuK_4vsP#Mu z(T%PKnCwB}CxZ=Uhk~Rhr zqg_uh6j_2svY=fFy;DHt;^6Lpqf)Rb31#4C<*bGjL-%}U;bJBl#ZxV_mDTcUa9A1& daq|g{79; z@9U1aK~@7;URar{s%x*GTj#pzhK5ZEEP1wWuoII7)~Q49n5?T0>~JIb<9Jc4D2m#9 z&0Dxwcu{(7c@F+rf?queL)P~~%Q+>XOHNrxbYfcua{@-Xu1~s54+lOY@2v*!5gdLU zpPB3&--sS@Pv%v*u~s(FJ=dY{z#F@L&t`q*gnDSfdbW767{{;;_xA^m!{fKL-y+Ygu!jjEVb5o} ziHTZVnWNg;yy+YCE|jQXx{Fk;P(Is{&ClR2x7D>AE9fyZF&Y`GH`7_a58so?w(q-s zAhL`ZZ#L4F8Em#~rekh>)@43VdDvr-=RWgXKO_(0|4-22hYlapk&?jz}7fGvq6z~F3F!RytUE6)0S0-guuGADI zjplP$f_9Iic{PYhabA&??40hwoI)n&Lm$H3c&=pEK}71d^;HgCAs_Ln^N~l)`KMBW zq2Gc9MG_9)gjM0-&q+#rTGAdh)`-zUu0 zy#NyueU!)^!)m@H5B4_kHIM0M$$O^=faq^nURs%_wJScCU?p)Xh@Ikfiv%AsNfcMk zNb*MXZ_;~uYAY}YtTKiC{twwZuzD{78}Af2F* zZCKrM9Yz8cM(q5>R*QsIpL1o3m*W*zt*({h?~WJMMn$b+-bWq7DeNa`r(}9>Gtg(% zdRMI*dJgnoWdf~GQ&T&#Zq8DqzbYDOO%&;0zzY}7PWRl9kO+qb@YsSO^ut3Xm!(rE4aKo+b9;o61O zu*E{%nz|YaE}5#h8gR+v=TTNjqAehDu|4QJWEw6XEt!0Xd}Fhp-rpDF9aR$2oecMr z;JCOmj3Z3mCC`oy_n+()TsQaOaa=xpkn7B4qur6!YPZ{{eOC?2%M{aP(P#_HX$|f@ z!P5+K@Lc!ECwMN}pXyxT8Pt&vFW~^bXJ@#5F99aU(My*y6-d7e)4#h~of0Orl($hB#&s%A@UvI#KmA zkETBtS%z>EDO`j;fCp{fPPO?4h9B!?Rv>=SiN_O6cPdBTWbZCI0Qy}q($K{1^dopH za%b3@O}`qB4o3I@d8TGQi45VnZ_@;Gigqh0QbW zMWcH1aq;4p$%SvQwn0upt0qTYBNHO z7jeDA*tC?o($JVTOPi8oxVO)^bcfGuDA0*n|f z8J*E9MipGLe+2J*%q3kTH4$EF+sp`uYM|!`AtvET|AI0uJ379D`kE?Lk3Z+A zL$F8J0w_AvL%oAqA4!TZwt(tElrP0<$3bY>!SNj`SCmFGqfvSc_Yyl_Y;8X!zKicV zr;&+ys-RdXZJ~@7@L~FrfpEx5?+;C$OX?`|D8}sW`Jy>B^a+jteAOifoLT_nh|5pjf zAxavN10u;P%EL&9F$bls4)b-yBW4Sgp*52CS>JALtJS((d4_-EXWDuq`2#0dw=hg6$~r3BnjI?)P9pG{l4*!G8F!F}6}6Gk zv>7nB%0+P{ZLN$JxwLl&)a?sqM8G8*sNCee^@-(@O4qU(SJA~|S#C0%?}acq4}{K$ z@c&SPvyq_W%ROw@9>U!|r` zDqiO*GJp0oPS{QnIYV1~e zx|{AEf3VpD65;}gT?vr5AR)nl3r8-?nF|*r{toyX_*M1Hqs zUj5#y_kOR)`((c1b-Sk9UZIO2xj45lQ#O{)@7w!k+lwqmr({0xdJ${3S!nON`nfji zm^~+28T_%6D-|@&*n7#JJDmGedFkQ|`J+N^-HsyG^&{KerIAN>Swv0h*cNj`Mmt_W zJIsuF0i$m%hHp_!zl>*XwvQ3w5!YnaP-{zh3+j2UewAF<==u)pGB+|K8&3ub3^mce zM$R8v)yG;zjqL2}oxD~p7^P}b(_bq@z3WBKrdbY}Y3j*qR)=P}!(41bpWNK)xh}Wg z+E#;_A?)V|%<|l}&6m%u%1r~)4K_~KpKasjN(Eg{T4R&EmYnmzj`kp%MtcD>+W<#y zVMZ@4&9(zezeE&WV&a@`6m)Lk;W{3XOI-hs?b_iUYtz0^A*@*UU9r4$Q<|BHkYvjwTJ= zfk}G6fcZ9ym=&>hk#5691X2RHqT^7{XMq`UuYencUN5j%!9(2c_GhPEugzjVsg#y- z;?tcRkW@(l>EkID{tB7Xi&7}vB(L1D59zk&dycnzL>md8%7l5@>hF1Q-z!u3@Hh~2JGTK1sbbEewKACy%5N%*yon~a5eY?Ix zjQ;v!>x{Z!YK2v1)=D+a_-_TKdZkz|Cj(QdUeqg<>`o>F)0BbUkOd|L`hG+b);aEU zONFEcDaKYc1`%!WeafC%rDIlA-Kw0JLF=+euaAxN&t=eX3RlF*S&|v_P4e=V?H77J zy^ZW`i;19`-9MQp_NJH?akeCnvzYj<z=5)mCH2UB%JD}f5WC+vY=RT>& z<}D*x94qVW+u5DY&J~%R-ymPw^uma~;~}d?7Bih?rwQ!{2^D!rz?_5WL{OM+&S4JE zrKY|=`#X4xd?Q9`g{F4n?61t54x3dOHm{NkapH(do|h(UI-uMpH)CT~`+4W!^RsWw zDQmr&%$lh695y8N*%oEa8u*_OH8hMX zKs%*f*T`}V);i9p5eaACrnkuJ!WaR{YtE#C4xkTumc_!b({r37&V?zU5Ct4Lk0i=` zt%5RQ$mTse>+&K}w;ghMi*YKDZ+M?%j_GVrV>M$yA5Fs{@8m!d*EmTxT=U-)au-zF z257_ZCMVrKFayrZ#y=VXaAqN+9y}FE5=O;LCI~&t>$%9bLB4R(a7M2s*hZa~2=%Pj za|+LpKbGX{e6-~84hY^-sv`S7S%7Asjr-dlrna9emttfmbN_sX6ovfL8M3h$jxunV zG|9c;r<`>Y%_NODXs=3wg{f;=2 zAykN%)ip5UNeOvKz(Xi9Yu(np&4gQ+dZ>qO{Ow7KmYyDhzZ} zCDMeEhSGj{nm|M*!xzq|u-o8dIo>s8VBw9%*l|_B$r$6jCx*k%6(Xo`L>$q9L=S|5 zvvAR=bOj;Kqcs|R6H*uW{CzAT>+oZyI{QgMGGC?2{|so`lRt&z7ISA)n$WJB7%9QrXGhC0_Gqh5S~LxJ{Qu zdtN*4M~%2o;uZI{TZXYl#knv{ck{Jz0=PeE#S_u$8Q_;Fe1dD-xI zYCoGJqc4%gXm+lwL&JG9#~^CdPbB{Ad+3CZ;$A!)>%Z|^+(zh{!O>t;#(PI(Oga|- zGSO#$q7dBl5oh-cQ(9u|tXpo9WhC!CBsjQG03r`byXAPeuR#xxK6Oy%w)s5*ehVi~ zm)}4pkMy~+loJct$s4#HWblwY%-~PV)!%)3Vd@bI3NI))U^eJ&E3)_P=m>3V&o_7D zYd>*qFjLkBishhKIhD|F5`)|sTv{5$kV%4hfv*gO&OvBO=4mqt6VSFC?yw%RLg$jyZu4*8+RtsDmfp6*IYR>aE|JkkI~1qR~GT^0_Q~ zh)<+uKX%Xpu5C4aGujKOrjF{E9y^FL8D-_eGT}%*jHmI10}xkD&u#A8o)b5JC#*Om zUw!EFG|L?LObMS$E>d6I%)g@F%n6P zxKBHbktpmkryL{iOI*QrtsuT4>ofy~NIi?x^fiKRIuRxpN<4wpoDYKnqyVv&N8fr6odm8q$fks*+6Xo;yhip|hm7ie+@Ljh|A a>jXvy0VXa!E-u%+6osJFstKVQ|;rkl?{x13`nk>tI80`I6nO zec#)z>T0Re_uj7l(WlNymbjHB)>J`80U#hCU?9+0_^8W9-_iO*i5Y?9_=JZcDE)N% zCpgOKaq|=`V~_XEMs~%~8;z&%Hs{V_*s4Qr7h%Z@i+YB#+P{9a6g4*VXRd@0ez!PJ zEhAFJuyIh-{_Jv4G;lB*!mn{>_EZ4mqjttqV45EjQrJC--!jvfXWFsScQ|p&R73bbA=Kp*DN3;H!3%Db<^V zeNta``ZJ^FP1_SUg@Ta>XVf@eXtk|0ywWz+ORm-}dp&3@9hTusmHU-LYDcC?Pi#XB9;Iyyb*UIz1{v+ zX*`1~`;~I8d-eFXNs>~0e?d@u-4Zo6#7^wQUf>!T-eH$~9>75xOVX}!>UAp@TNcaX zo?j71cU!Y#cKb#*O zh=8yzh=73e`(b1?^+YTkJUuvVtZiW?&aRun1W&8)EY3HA@mu3lz4Jx0>vwE~*s$0^ zjzu%Cu*~TUlr)JJVV#mri#My&xS-T~0X9 z7C>fLA)sBMOsyyI`A~_Tbf|%-vH5Db*{(`+V>PJ0*ab1!TNq2O=*o;ONwzt<)!2er z3X~bwjze(UCj8b(lUReGMW)=lYUaxf{{EGVlG;oRDs=Yd1qtxe@J>>Ynehg&>n?gx zp+rv}rNd6lL)ZSTfr3Pc=I!R)e45y7pEp|^q|_>oP33*1phU-Yd-S{Wl{lg9jxt@U z2i*ne?Gto!$5>z8xj8Ou*m8TmTYCDiOl{4u<8`xFNhZ@OlHyKm{I^f9uh>sta1{Tp z{5Y9<9+GyI)N3YP2xi6}G;IOG?R4D*D|oIld~At__`w!8N{naj(V~UKRP4@@<{$HQzX=?Zf9$OSK{RunzEh;*BkF&vlK|@TZS6kkTz0ms$x%DgXnQVD&*q-P` zTEWOOYs|<#(Tm^#Z;uH-X^KwUyc&Axc4CL35&mg;G$O*_+cS;nhvd!+j3NXTd%^Zd(3yV_ykQG0Pdu=EbX0Uy}MZ zEYZ9P$Veg{dE!Wyr+sLZk?LUOz%0jQNY>@cV6x3N=6JgSNY9TH0F_H)r7(>Uz>mXA4HxISsF)}2vv2t$9~C6Sl4@C2)5%&CB*K0jTZI-p;Af< zw4GlnbD^nA@5@piFAkWAN(S?v3<#77?BXW!LzJTP-WdRoY2_GNvf7i~@|!xBz5q73 zCuJLuB~gjf-%4|b4UwRfiD_%1U;#syiCIgLP^A;%0GC?|-wi^jrE|xKJrngKw3_C7 z42U=hg|x5av6>fB6Id0F3(P?$z~6vS@_{6d8Bi3y*Ymw}##><9~M_yC@$ zK2iXV7;@XsGD_Z*P%YlAI-DdD7L|(h^ZvmYa?0dki`NYWO5r?gDAI%pkPO&p`U^wL zycj4*#uwr9)rDMmZ6U!=#TS^O#Tbjs31@K~Nn8cA0=Q>jguDZn{elgoLbNJ~AK&Fd z4j1fX)5Y@&@o1sDP22LttzQ%87oiW7j;s`Q`$iVGN_wHFzjj#CAlIJ=LYRU zYIF-p6Xw#?@ek}&S@dx0;^y-L{(ekkN8srGf_8>%invCy~f2_9IpOC9Y(G)G!gjf zQ__2VzLE+BEZyQ3{m?hE1*aqD<8;GBX0LEP=}gP4;$`@R1R^b!FbBWrVNI!eu?!!F z0_g=U_fzu8ROCxcU(cKce^)bIp5hLT7W8_nwVxC_>)Fan9I1sCn(4wYLB75s2+iXj z*!)!N{xOoc)o>XKlE-rC(HCAQ94s&EaUtC?d8vtYmACpvnj7GvkV~^^#V%nF4aU*& z+aXJ+P8|={0U0TEN$BEtLBxm|^tqcrKv#oq2~(c;@)kwiL4u48Gw!}p&4qyrR_eEv~C~Qzo=f}=DPU_uSl4FPggMcTC|bKz7Sa;^eQ0cV<@FyRiUh#SmC31 ztVkXA5)}xU9hS~G4C#^{5Fgm#ow9O^!gUoQ%g{QSol%O(*$T!~m^Z5TwO3MF7^w*7-MK-9O~YSSkLy{tQR#8xqk4Eq zWeRj?KpJ)YWQ*RW-xiBfwyaQ2%vCS+)g+DF_W{e%#5*{rD72%1fZ}m$CXcK#pKrJB z7OA1*e(6pWC!1pWHE}Vk_DPO{z!M#c%comUA{)(p>H#yJ2$lg(-6j1h$0Qbj(K2cP zOJrW3J;W`ADGwZG;+zF|Q?J7f<3Pdp?Ki>T)yug$HmA>p^BN9enhpJ)T4`GKhP@rn zkjd_6>wh{|mI`B?t<)2u46s2`E!Jgkk5Wd=q$2eqTZPF;%sJSfPj~@a^-?Uc(05d#H$xlnIN$z_&nV)UHTXStmf(MX}QajxTywFHX^?}fG% zb;+``OTEV1qoxTQw9pG?(CIlh#?RY|G>z}wfkf>n79aBXBmw0=rx|SUoCl5XUNpT0 zVF!jo+PJWj#71NFH_jzwRt!)?vyy)WkT9gXn^JYW4CYqtnKM$Q$!c+_KLgdO-vlV} zqpWpl;ECY6XK8}Fg)p&4=xxt9rX=M_o`mO7$uK2^veR8RwAdG5SgR#$6ynln2U{J; zj>R8BJJo*lU;xG67%E4+$a9TwB^Hd>)dRPA=m9thNuB7Sp(SU%CBeTI$MRUt_$~60 zI+7_JZtyHHS2CQ*tETE7h+=y9n(7^NRWNTj3A1}lhfGQa*8RhA(|%kzE1?LAyP>Cw7~$$@A%V-96V1N!IRd6%!#%-fjGkd_)02|VgwU{5WiVxI6OzL9$UZ%)KNYG^uy6(r8^%{-q9A{_G>l=PaKj6~MIoqj+YY4aZ&{x!=X|0{RUXIYA z>~6a5a|E>WVY(y9$0PIjz1+YrsTU0;;SZA9FT+?}pO&{^sn7dD=I{f`^WAHH^WH7k zO6((=li7h#usO1f&;)`A9XTWS$*Iu#B8f))4@jRxG@T?l2GI>LEc{MdlQ4qpYs^*} z7$|JDfxd}{bI33j>}0nSq@;hGWWF=zWM}gYmF-%(y7qL*XhEg>JEw|?R&}a;{fer3 zfptIlJ5ryjpHV=tlTacqX{A%UxlKhod(IDMl)bazXRJFSao))1;=}grJg* zeevWA7d11AdhRnFi4WJI!ye_5OrtNK<^ggHjb|So$CAoy8)VbGw~#}eIVd27rnnpM zO96DVv!@H9WXg4Ni|Mc`)N>osuD{zHiiS*-@M@b zIJZkC7MU@Szqt@Ocaq*RXI5LsUkY0*%ZzV{_jW6B(LU^1th!HH38Z#~-lWu~>I3!X z!r#b=ReSiVbE3l!HJmIFTMWM#<$l``(3-H(M6y#$x7A6is9@R}ZYX*tYRfd1H|~F> zED+X#p;A}7ryEo*9xgnp($DfQ93kzt|GRn%UO4^!{qSFK18xV<) zI-V&ncIt11ih!Q!-JsJYlMykVV z+=%;n*>}tj*~RFjoTCRB91nlBHR{siw^M24et0)^UT7V(oh$DNVw%;O2jhY|u*!0n z1?;a`ojTuh-iV%dsnKt50;~AG{>Tu)t5-4UlysD5ry-AohYjnbn{t>W55TpZ2_lNX zo2XwtWoL|zuP^d3&L#1tj=ux)e+~P_?N#M_YJZo6o56%am2xZOn#yqhf`d7h<)df7 zR8CxH)zYcinVKc@$oKfi4gk--QMihN{tma%<@?KYI(UYTAz+lPU&AzU;WfP-SV5oq z;f*G|(i-uzJYGQen(`Qdv56AW5I~Yh9*M|?vH(Vzcp^L46!9TuXpuA{q*BjmG58pJa_%MV6RM^`XW{z?pG(~B9RL7i}kT5 z0^4W0X?t@}?}k_gxU}tql0_zHf|u&9X0cQM*nV5Ti z{jEH3JHD@@CNz9l^6(D=cGT06xh0eKaZ}H>w~|Riao_5g7gd3C6Q=PfmSkZit)Nm; z3G}0Se7TPAy-fSXybYh%>f+Y;-1>#0aGW|=k8S{J-FS`l6bzndOyoG}HuUtt!}%C1 zYkJ2iigRlAkPlogy#pk0(0WEysh22z4j0Ch_>MUb8yEKtn?9X^x3uWwqw!box|M6o znsDo=is{ss#brPc&wSaFAv?2U^g%=YHaM-r!lPI&L&Z~vUauJa?P`~Msu`j>MEp|L zlEcmdcoscR9WTn{Vplh{c%^VeJ6?d5(9m8UD4;GT7OJeGs;ZwBO4sL7F!dbBpWs~;@*-_~NzD94!b zrh8TG5?xuQ*$*P`zQoaTkC%y01lo?YY|o|060ECiIyEp{ z4z?Ntm%8wA1&tGZMYqOoh@_P33x>kEY?G?VA;2W%xCH_0h*;*h+os##$Qqc>(dw7N zN`o)Kuiq6r?3=YKtB*5mAHcIzba@QuE&OB^mr8f=8xzOO(fNtq1XV)X@yz3+~m@A~V)yxY-YtzpUn z>DU+FO!>q>SOAsQD^|OHHkRRVvs9*Pd>)v#nV+~zG}O^e=1lvc35tl64Ly=`^rE z6a?rLuv@JH^@K zj|sgftWgf#Rpn_S(m4259ENQ<{=#VjHeV1#b(ZAJ-RPQWm-HZTVz*mE+`iE$mTYu~ zPPSZm=+W{NalfB(eu02jTsT+iWCE-RrdECJ;M>C69I2W_{0cT7UWz*Ol@a=BTMv^| zIaL@)vA&p|q>*{8&G#Nmw1tKJp`zvG#5F~sI zc1u$usrL$QfQn@*bqffWj1I;}Av41iqEZo>EdG5P)OGX$YfrE1MI05`RP-o>k z`BS`S66KpZ=n+5z!n@OV}Lj2dHijocy^S>rl z;w%+A?Vr`Z4U@n9lHWuD0r7Wl49QERr>6XKG*Ob867ea~gqrGKD?e&Vv4G#q>A%j3 zyS0U;3L+8$!rw;N-$D=q0^XmH|7ndO2Z4I_UM z4FUouf;^wLnwGY*I-9DMot&efm#&ezu@IZBm%EIUud}DCgN37$4xgcqtBNO|4gc%^ E1IPV{n*aa+ delta 6755 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 Ug0m~PueqA1y^OhzgqP6&0hoQ2ApigX diff --git a/lab2CA.runs/synth_1/CPU9bits.tcl b/lab2CA.runs/synth_1/CPU9bits.tcl index fd7a162..cf8d3c4 100644 --- a/lab2CA.runs/synth_1/CPU9bits.tcl +++ b/lab2CA.runs/synth_1/CPU9bits.tcl @@ -17,26 +17,28 @@ proc create_report { reportName command } { send_msg_id runtcl-5 warning "$msg" } } +set_msg_config -id {Synth 8-256} -limit 10000 +set_msg_config -id {Synth 8-638} -limit 10000 create_project -in_memory -part xc7k160tifbg484-2L set_param project.singleFileAddWarning.threshold 0 set_param project.compositeFile.enableAutoGeneration 0 set_param synth.vivado.isSynthRun true -set_property webtalk.parent_dir C:/Users/ecelab/ECE3570-Lab/lab2CA.cache/wt [current_project] -set_property parent.project_path C:/Users/ecelab/ECE3570-Lab/lab2CA.xpr [current_project] +set_property webtalk.parent_dir {C:/Users/JoseIgnacio/CA Lab/lab2CA.cache/wt} [current_project] +set_property parent.project_path {C:/Users/JoseIgnacio/CA Lab/lab2CA.xpr} [current_project] set_property default_lib xil_defaultlib [current_project] set_property target_language Verilog [current_project] -set_property ip_output_repo c:/Users/ecelab/ECE3570-Lab/lab2CA.cache/ip [current_project] +set_property ip_output_repo {c:/Users/JoseIgnacio/CA Lab/lab2CA.cache/ip} [current_project] set_property ip_cache_permissions {read write} [current_project] read_verilog -library xil_defaultlib { - C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v - C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v - C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ControlUnit.v - C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/FetchUnit.v - C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/RegFile.v - C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v - C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/instructionMemory.v - C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v + {C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/ALU.v} + {C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v} + {C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/ControlUnit.v} + {C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/FetchUnit.v} + {C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/RegFile.v} + {C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v} + {C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/instructionMemory.v} + {C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/CPU9bits.v} } # Mark all dcp files as not used in implementation to prevent them from being # stitched into the results of this synthesis run. Any black boxes in the diff --git a/lab2CA.runs/synth_1/CPU9bits.vds b/lab2CA.runs/synth_1/CPU9bits.vds index 5b60a73..2265976 100644 --- a/lab2CA.runs/synth_1/CPU9bits.vds +++ b/lab2CA.runs/synth_1/CPU9bits.vds @@ -2,12 +2,12 @@ # Vivado v2018.3 (64-bit) # SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 # IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Wed Mar 20 10:53:36 2019 -# Process ID: 12136 -# Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1 +# Start of session at: Sun Mar 24 12:08:28 2019 +# Process ID: 6500 +# Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.runs/synth_1 # Command line: vivado.exe -log CPU9bits.vds -product Vivado -mode batch -messageDb vivado.pb -notrace -source CPU9bits.tcl -# Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1/CPU9bits.vds -# Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1\vivado.jou +# Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.runs/synth_1/CPU9bits.vds +# Journal file: C:/Users/JoseIgnacio/CA Lab/lab2CA.runs/synth_1\vivado.jou #----------------------------------------------------------- source CPU9bits.tcl -notrace Command: synth_design -top CPU9bits -part xc7k160tifbg484-2L @@ -15,101 +15,96 @@ Starting synth_design Attempting to get a license for feature 'Synthesis' and/or device 'xc7k160ti' INFO: [Common 17-349] Got license for feature 'Synthesis' and/or device 'xc7k160ti' INFO: Launching helper process for spawning children vivado processes -INFO: Helper process launched with PID 8176 +INFO: Helper process launched with PID 12896 +WARNING: [Synth 8-1958] event expressions must result in a singular type [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:30] --------------------------------------------------------------------------------- -Starting Synthesize : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 359.945 ; gain = 102.359 +Starting Synthesize : Time (s): cpu = 00:00:04 ; elapsed = 00:00:04 . Memory (MB): peak = 377.188 ; gain = 114.703 --------------------------------------------------------------------------------- -INFO: [Synth 8-6157] synthesizing module 'CPU9bits' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:3] -INFO: [Synth 8-6157] synthesizing module 'instructionMemory' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/instructionMemory.v:3] -INFO: [Synth 8-6155] done synthesizing module 'instructionMemory' (1#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/instructionMemory.v:3] -INFO: [Synth 8-6157] synthesizing module 'dataMemory' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:3] -WARNING: [Synth 8-567] referenced signal 'clk' should be on the sensitivity list [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:30] -WARNING: [Synth 8-567] referenced signal 'memory' should be on the sensitivity list [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:30] -WARNING: [Synth 8-567] referenced signal 'writeEnable' should be on the sensitivity list [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:30] -WARNING: [Synth 8-567] referenced signal 'writeData' should be on the sensitivity list [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:30] -INFO: [Synth 8-6155] done synthesizing module 'dataMemory' (2#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:3] -INFO: [Synth 8-6157] synthesizing module 'RegFile' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/RegFile.v:3] -INFO: [Synth 8-6157] synthesizing module 'decoder' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:261] -INFO: [Synth 8-226] default block is never used [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:268] -INFO: [Synth 8-6155] done synthesizing module 'decoder' (3#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:261] -INFO: [Synth 8-6157] synthesizing module 'register' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:777] -INFO: [Synth 8-6155] done synthesizing module 'register' (4#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:777] -INFO: [Synth 8-6157] synthesizing module 'mux_4_1' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:407] -INFO: [Synth 8-226] default block is never used [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:412] -INFO: [Synth 8-6155] done synthesizing module 'mux_4_1' (5#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:407] -INFO: [Synth 8-6155] done synthesizing module 'RegFile' (6#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/RegFile.v:3] -INFO: [Synth 8-6157] synthesizing module 'FetchUnit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/FetchUnit.v:3] -INFO: [Synth 8-6157] synthesizing module 'add_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:56] -INFO: [Synth 8-6157] synthesizing module 'add_1bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:3] -INFO: [Synth 8-6155] done synthesizing module 'add_1bit' (7#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:3] -INFO: [Synth 8-6155] done synthesizing module 'add_9bit' (8#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:56] -INFO: [Synth 8-6157] synthesizing module 'mux_2_1' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:336] -INFO: [Synth 8-226] default block is never used [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:342] -INFO: [Synth 8-6155] done synthesizing module 'mux_2_1' (9#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:336] -INFO: [Synth 8-6155] done synthesizing module 'FetchUnit' (10#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/FetchUnit.v:3] -INFO: [Synth 8-6157] synthesizing module 'ALU' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:3] -INFO: [Synth 8-6157] synthesizing module 'sub_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1311] -INFO: [Synth 8-6157] synthesizing module 'twos_compliment_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1376] -INFO: [Synth 8-6157] synthesizing module 'not_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:687] -INFO: [Synth 8-6155] done synthesizing module 'not_9bit' (11#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:687] -INFO: [Synth 8-6155] done synthesizing module 'twos_compliment_9bit' (12#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1376] -INFO: [Synth 8-6155] done synthesizing module 'sub_9bit' (13#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1311] -INFO: [Synth 8-6157] synthesizing module 'or_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:724] -INFO: [Synth 8-6155] done synthesizing module 'or_9bit' (14#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:724] -INFO: [Synth 8-6157] synthesizing module 'nor_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:643] -INFO: [Synth 8-6155] done synthesizing module 'nor_9bit' (15#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:643] -INFO: [Synth 8-6157] synthesizing module 'and_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:175] -INFO: [Synth 8-6155] done synthesizing module 'and_9bit' (16#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:175] -INFO: [Synth 8-6157] synthesizing module 'shift_left' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:853] -INFO: [Synth 8-6155] done synthesizing module 'shift_left' (17#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:853] -INFO: [Synth 8-6157] synthesizing module 'shift_right_logical' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:890] -INFO: [Synth 8-6155] done synthesizing module 'shift_right_logical' (18#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:890] -INFO: [Synth 8-6157] synthesizing module 'shift_right_arithmetic' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:927] -INFO: [Synth 8-6155] done synthesizing module 'shift_right_arithmetic' (19#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:927] -INFO: [Synth 8-6157] synthesizing module 'less_than' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:320] -INFO: [Synth 8-6155] done synthesizing module 'less_than' (20#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:320] -INFO: [Synth 8-6157] synthesizing module 'BEQ' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1425] -INFO: [Synth 8-6155] done synthesizing module 'BEQ' (21#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1425] -INFO: [Synth 8-6157] synthesizing module 'mux_16_1' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:535] -INFO: [Synth 8-226] default block is never used [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:541] -INFO: [Synth 8-6155] done synthesizing module 'mux_16_1' (22#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:535] -WARNING: [Synth 8-3848] Net result_M in module/entity ALU does not have driver. [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:11] -WARNING: [Synth 8-3848] Net result_N in module/entity ALU does not have driver. [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:11] -WARNING: [Synth 8-3848] Net result_O in module/entity ALU does not have driver. [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:11] -WARNING: [Synth 8-3848] Net result_P in module/entity ALU does not have driver. [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:11] -INFO: [Synth 8-6155] done synthesizing module 'ALU' (23#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:3] -INFO: [Synth 8-6157] synthesizing module 'ControlUnit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ControlUnit.v:3] -INFO: [Synth 8-6155] done synthesizing module 'ControlUnit' (24#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ControlUnit.v:3] -INFO: [Synth 8-6157] synthesizing module 'sign_extend_2bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:965] -INFO: [Synth 8-6155] done synthesizing module 'sign_extend_2bit' (25#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:965] -WARNING: [Synth 8-689] width (3) of port connection 'A' does not match port width (2) of module 'sign_extend_2bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:89] -INFO: [Synth 8-6157] synthesizing module 'sign_extend_4bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1035] -INFO: [Synth 8-6155] done synthesizing module 'sign_extend_4bit' (26#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1035] -WARNING: [Synth 8-689] width (5) of port connection 'A' does not match port width (4) of module 'sign_extend_4bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:93] -INFO: [Synth 8-6157] synthesizing module 'bit1_mux_2_1' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:350] -INFO: [Synth 8-226] default block is never used [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:356] -INFO: [Synth 8-6155] done synthesizing module 'bit1_mux_2_1' (27#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:350] -WARNING: [Synth 8-689] width (3) of port connection 'A' does not match port width (2) of module 'sign_extend_2bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:112] -INFO: [Synth 8-6155] done synthesizing module 'CPU9bits' (28#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:3] +INFO: [Synth 8-6157] synthesizing module 'CPU9bits' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:3] +INFO: [Synth 8-6157] synthesizing module 'instructionMemory' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/instructionMemory.v:3] +INFO: [Synth 8-6155] done synthesizing module 'instructionMemory' (1#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/instructionMemory.v:3] +INFO: [Synth 8-6157] synthesizing module 'dataMemory' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:3] +WARNING: [Synth 8-567] referenced signal 'writeEnable' should be on the sensitivity list [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:30] +WARNING: [Synth 8-567] referenced signal 'writeData' should be on the sensitivity list [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:30] +INFO: [Synth 8-6155] done synthesizing module 'dataMemory' (2#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:3] +INFO: [Synth 8-6157] synthesizing module 'RegFile' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/RegFile.v:3] +INFO: [Synth 8-6157] synthesizing module 'decoder' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:261] +INFO: [Synth 8-226] default block is never used [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:268] +INFO: [Synth 8-6155] done synthesizing module 'decoder' (3#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:261] +INFO: [Synth 8-6157] synthesizing module 'register' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:777] +INFO: [Synth 8-6155] done synthesizing module 'register' (4#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:777] +INFO: [Synth 8-6157] synthesizing module 'mux_4_1' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:407] +INFO: [Synth 8-226] default block is never used [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:412] +INFO: [Synth 8-6155] done synthesizing module 'mux_4_1' (5#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:407] +INFO: [Synth 8-6155] done synthesizing module 'RegFile' (6#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/RegFile.v:3] +INFO: [Synth 8-6157] synthesizing module 'FetchUnit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/FetchUnit.v:3] +INFO: [Synth 8-6157] synthesizing module 'add_9bit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:56] +INFO: [Synth 8-6157] synthesizing module 'add_1bit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:3] +INFO: [Synth 8-6155] done synthesizing module 'add_1bit' (7#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:3] +INFO: [Synth 8-6155] done synthesizing module 'add_9bit' (8#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:56] +INFO: [Synth 8-6157] synthesizing module 'mux_2_1' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:336] +INFO: [Synth 8-226] default block is never used [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:342] +INFO: [Synth 8-6155] done synthesizing module 'mux_2_1' (9#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:336] +INFO: [Synth 8-6155] done synthesizing module 'FetchUnit' (10#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/FetchUnit.v:3] +INFO: [Synth 8-6157] synthesizing module 'ALU' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/ALU.v:3] +INFO: [Synth 8-6157] synthesizing module 'sub_9bit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1311] +INFO: [Synth 8-6157] synthesizing module 'twos_compliment_9bit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1376] +INFO: [Synth 8-6157] synthesizing module 'not_9bit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:687] +INFO: [Synth 8-6155] done synthesizing module 'not_9bit' (11#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:687] +INFO: [Synth 8-6155] done synthesizing module 'twos_compliment_9bit' (12#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1376] +INFO: [Synth 8-6155] done synthesizing module 'sub_9bit' (13#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1311] +INFO: [Synth 8-6157] synthesizing module 'or_9bit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:724] +INFO: [Synth 8-6155] done synthesizing module 'or_9bit' (14#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:724] +INFO: [Synth 8-6157] synthesizing module 'nor_9bit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:643] +INFO: [Synth 8-6155] done synthesizing module 'nor_9bit' (15#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:643] +INFO: [Synth 8-6157] synthesizing module 'and_9bit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:175] +INFO: [Synth 8-6155] done synthesizing module 'and_9bit' (16#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:175] +INFO: [Synth 8-6157] synthesizing module 'shift_left' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:853] +INFO: [Synth 8-6155] done synthesizing module 'shift_left' (17#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:853] +INFO: [Synth 8-6157] synthesizing module 'shift_right_logical' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:890] +INFO: [Synth 8-6155] done synthesizing module 'shift_right_logical' (18#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:890] +INFO: [Synth 8-6157] synthesizing module 'shift_right_arithmetic' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:927] +INFO: [Synth 8-6155] done synthesizing module 'shift_right_arithmetic' (19#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:927] +INFO: [Synth 8-6157] synthesizing module 'less_than' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:320] +INFO: [Synth 8-6155] done synthesizing module 'less_than' (20#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:320] +INFO: [Synth 8-6157] synthesizing module 'BEQ' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1425] +INFO: [Synth 8-6155] done synthesizing module 'BEQ' (21#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1425] +INFO: [Synth 8-6157] synthesizing module 'mux_16_1' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:535] +INFO: [Synth 8-226] default block is never used [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:541] +INFO: [Synth 8-6155] done synthesizing module 'mux_16_1' (22#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:535] +WARNING: [Synth 8-3848] Net result_M in module/entity ALU does not have driver. [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/ALU.v:11] +WARNING: [Synth 8-3848] Net result_N in module/entity ALU does not have driver. [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/ALU.v:11] +WARNING: [Synth 8-3848] Net result_O in module/entity ALU does not have driver. [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/ALU.v:11] +WARNING: [Synth 8-3848] Net result_P in module/entity ALU does not have driver. [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/ALU.v:11] +INFO: [Synth 8-6155] done synthesizing module 'ALU' (23#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/ALU.v:3] +INFO: [Synth 8-6157] synthesizing module 'ControlUnit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/ControlUnit.v:3] +INFO: [Synth 8-6155] done synthesizing module 'ControlUnit' (24#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/ControlUnit.v:3] +INFO: [Synth 8-6157] synthesizing module 'sign_extend_3bit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:996] +INFO: [Synth 8-6155] done synthesizing module 'sign_extend_3bit' (25#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:996] +INFO: [Synth 8-6157] synthesizing module 'sign_extend_5bit' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1090] +INFO: [Synth 8-6155] done synthesizing module 'sign_extend_5bit' (26#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1090] +INFO: [Synth 8-6157] synthesizing module 'bit1_mux_2_1' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:350] +INFO: [Synth 8-226] default block is never used [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:356] +INFO: [Synth 8-6155] done synthesizing module 'bit1_mux_2_1' (27#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/BasicModules.v:350] +INFO: [Synth 8-6155] done synthesizing module 'CPU9bits' (28#1) [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:3] WARNING: [Synth 8-3331] design shift_right_arithmetic has unconnected port A[0] WARNING: [Synth 8-3331] design shift_right_logical has unconnected port A[0] WARNING: [Synth 8-3331] design shift_left has unconnected port A[8] WARNING: [Synth 8-3331] design instructionMemory has unconnected port clk --------------------------------------------------------------------------------- -Finished Synthesize : Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 415.844 ; gain = 158.258 +Finished Synthesize : Time (s): cpu = 00:00:05 ; elapsed = 00:00:05 . Memory (MB): peak = 414.457 ; gain = 151.973 --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- -Finished Constraint Validation : Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 415.844 ; gain = 158.258 +Finished Constraint Validation : Time (s): cpu = 00:00:05 ; elapsed = 00:00:05 . Memory (MB): peak = 414.457 ; gain = 151.973 --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- Start Loading Part and Timing Information --------------------------------------------------------------------------------- Loading part: xc7k160tifbg484-2L --------------------------------------------------------------------------------- -Finished Loading Part and Timing Information : Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 415.844 ; gain = 158.258 +Finished Loading Part and Timing Information : Time (s): cpu = 00:00:06 ; elapsed = 00:00:05 . Memory (MB): peak = 414.457 ; gain = 151.973 --------------------------------------------------------------------------------- INFO: [Device 21-403] Loading part xc7k160tifbg484-2L -INFO: [Synth 8-5544] ROM "memory" won't be mapped to Block RAM because address size (3) smaller than threshold (5) INFO: [Synth 8-5546] ROM "memory_reg[15]" won't be mapped to RAM because it is too sparse INFO: [Synth 8-5546] ROM "memory_reg[14]" won't be mapped to RAM because it is too sparse INFO: [Synth 8-5546] ROM "memory_reg[13]" won't be mapped to RAM because it is too sparse @@ -126,27 +121,27 @@ INFO: [Synth 8-5546] ROM "memory_reg[3]" won't be mapped to RAM because it is to INFO: [Synth 8-5546] ROM "memory_reg[2]" won't be mapped to RAM because it is too sparse INFO: [Synth 8-5546] ROM "memory_reg[1]" won't be mapped to RAM because it is too sparse INFO: [Synth 8-5546] ROM "memory_reg[0]" won't be mapped to RAM because it is too sparse -WARNING: [Synth 8-327] inferring latch for variable 'readData_reg' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[15]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[14]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[13]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[12]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[11]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[10]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[9]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[8]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[7]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[6]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[5]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[4]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[3]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[2]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[1]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] -WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[0]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'readData_reg' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[15]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[14]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[13]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[12]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[11]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[10]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[9]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[8]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[7]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[6]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[5]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[4]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[3]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[2]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[1]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[0]' [C:/Users/JoseIgnacio/CA Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] --------------------------------------------------------------------------------- -Finished RTL Optimization Phase 2 : Time (s): cpu = 00:00:04 ; elapsed = 00:00:04 . Memory (MB): peak = 446.785 ; gain = 189.199 +Finished RTL Optimization Phase 2 : Time (s): cpu = 00:00:08 ; elapsed = 00:00:07 . Memory (MB): peak = 447.438 ; gain = 184.953 --------------------------------------------------------------------------------- -INFO: [Synth 8-223] decloning instance 'SE1' (sign_extend_2bit) to 'SE3' +INFO: [Synth 8-223] decloning instance 'SE1' (sign_extend_3bit) to 'SE3' Report RTL Partitions: +-+--------------+------------+----------+ @@ -161,20 +156,19 @@ Detailed RTL Component Info : +---XORs : 2 Input 1 Bit XORs := 144 +---Registers : - 9 Bit Registers := 5 + 9 Bit Registers := 9 +---Muxes : - 7 Input 9 Bit Muxes := 1 - 2 Input 9 Bit Muxes := 22 - 4 Input 9 Bit Muxes := 2 - 2 Input 4 Bit Muxes := 1 - 4 Input 4 Bit Muxes := 1 - 15 Input 4 Bit Muxes := 1 + 2 Input 9 Bit Muxes := 23 + 4 Input 9 Bit Muxes := 4 + 2 Input 4 Bit Muxes := 2 + 4 Input 4 Bit Muxes := 2 + 16 Input 4 Bit Muxes := 1 2 Input 3 Bit Muxes := 2 - 15 Input 3 Bit Muxes := 1 - 16 Input 1 Bit Muxes := 16 + 16 Input 3 Bit Muxes := 1 + 16 Input 2 Bit Muxes := 1 + 16 Input 1 Bit Muxes := 21 2 Input 1 Bit Muxes := 17 3 Input 1 Bit Muxes := 16 - 15 Input 1 Bit Muxes := 5 --------------------------------------------------------------------------------- Finished RTL Component Statistics --------------------------------------------------------------------------------- @@ -182,10 +176,6 @@ Finished RTL Component Statistics Start RTL Hierarchical Component Statistics --------------------------------------------------------------------------------- Hierarchical RTL Component report -Module instructionMemory -Detailed RTL Component Info : -+---Muxes : - 7 Input 9 Bit Muxes := 1 Module dataMemory Detailed RTL Component Info : +---Muxes : @@ -217,10 +207,11 @@ Detailed RTL Component Info : Module ControlUnit Detailed RTL Component Info : +---Muxes : - 15 Input 4 Bit Muxes := 1 + 16 Input 4 Bit Muxes := 1 2 Input 3 Bit Muxes := 2 - 15 Input 3 Bit Muxes := 1 - 15 Input 1 Bit Muxes := 5 + 16 Input 3 Bit Muxes := 1 + 16 Input 2 Bit Muxes := 1 + 16 Input 1 Bit Muxes := 5 Module bit1_mux_2_1 Detailed RTL Component Info : +---Muxes : @@ -242,6 +233,64 @@ No constraint files found. Start Cross Boundary and Area Optimization --------------------------------------------------------------------------------- Warning: Parallel synthesis criteria is not met +INFO: [Synth 8-3886] merging instance 'Bank/r2/Dout_reg[5]' (FDRE) to 'Bank/r3/Dout_reg[5]' +INFO: [Synth 8-3333] propagating constant 0 across sequential element (\Bank/r3/Dout_reg[5] ) +INFO: [Synth 8-3886] merging instance 'Bank/r2/Dout_reg[6]' (FDRE) to 'Bank/r3/Dout_reg[6]' +INFO: [Synth 8-3333] propagating constant 0 across sequential element (\Bank/r3/Dout_reg[6] ) +INFO: [Synth 8-3886] merging instance 'Bank/r2/Dout_reg[7]' (FDRE) to 'Bank/r3/Dout_reg[7]' +INFO: [Synth 8-3333] propagating constant 0 across sequential element (\Bank/r3/Dout_reg[7] ) +INFO: [Synth 8-3886] merging instance 'Bank/r2/Dout_reg[8]' (FDRE) to 'Bank/r3/Dout_reg[8]' +INFO: [Synth 8-3333] propagating constant 0 across sequential element (\Bank/r3/Dout_reg[8] ) +INFO: [Synth 8-3886] merging instance 'Bank/r2/Dout_reg[3]' (FDRE) to 'Bank/r3/Dout_reg[3]' +INFO: [Synth 8-3333] propagating constant 0 across sequential element (\Bank/r3/Dout_reg[3] ) +INFO: [Synth 8-3886] merging instance 'Bank/r2/Dout_reg[4]' (FDRE) to 'Bank/r3/Dout_reg[4]' +INFO: [Synth 8-3333] propagating constant 0 across sequential element (\Bank/r3/Dout_reg[4] ) +INFO: [Synth 8-3886] merging instance 'Bank/r2/Dout_reg[2]' (FDRE) to 'Bank/r3/Dout_reg[2]' +INFO: [Synth 8-3333] propagating constant 0 across sequential element (\Bank/r3/Dout_reg[2] ) +INFO: [Synth 8-3886] merging instance 'Bank/r2/Dout_reg[1]' (FDRE) to 'Bank/r3/Dout_reg[1]' +INFO: [Synth 8-3333] propagating constant 0 across sequential element (\Bank/r3/Dout_reg[1] ) +INFO: [Synth 8-3886] merging instance 'Bank/r2/Dout_reg[0]' (FDRE) to 'Bank/r3/Dout_reg[0]' +INFO: [Synth 8-3333] propagating constant 0 across sequential element (\Bank/r3/Dout_reg[0] ) +--------------------------------------------------------------------------------- +Finished Cross Boundary and Area Optimization : Time (s): cpu = 00:00:17 ; elapsed = 00:00:17 . Memory (MB): peak = 666.957 ; gain = 404.473 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start ROM, RAM, DSP and Shift Register Reporting +--------------------------------------------------------------------------------- + +ROM: ++------------------+------------+---------------+----------------+ +|Module Name | RTL Object | Depth x Width | Implemented As | ++------------------+------------+---------------+----------------+ +|instructionMemory | p_0_out | 32x9 | LUT | +|CPU9bits | p_0_out | 32x9 | LUT | ++------------------+------------+---------------+----------------+ + +--------------------------------------------------------------------------------- +Finished ROM, RAM, DSP and Shift Register Reporting +--------------------------------------------------------------------------------- + +Report RTL Partitions: ++-+--------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++-+--------------+------------+----------+ ++-+--------------+------------+----------+ +No constraint files found. +--------------------------------------------------------------------------------- +Start Timing Optimization +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Timing Optimization : Time (s): cpu = 00:00:17 ; elapsed = 00:00:17 . Memory (MB): peak = 666.957 ; gain = 404.473 +--------------------------------------------------------------------------------- + +Report RTL Partitions: ++-+--------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++-+--------------+------------+----------+ ++-+--------------+------------+----------+ +--------------------------------------------------------------------------------- +Start Technology Mapping +--------------------------------------------------------------------------------- WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[8]) is unused and will be removed from module CPU9bits. WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[7]) is unused and will be removed from module CPU9bits. WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[6]) is unused and will be removed from module CPU9bits. @@ -344,32 +393,7 @@ WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][0]) is unused and w WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[5][8]) is unused and will be removed from module CPU9bits. INFO: [Common 17-14] Message 'Synth 8-3332' appears 100 times and further instances of the messages will be disabled. Use the Tcl command set_msg_config to change the current settings. --------------------------------------------------------------------------------- -Finished Cross Boundary and Area Optimization : Time (s): cpu = 00:00:07 ; elapsed = 00:00:08 . Memory (MB): peak = 594.980 ; gain = 337.395 ---------------------------------------------------------------------------------- - -Report RTL Partitions: -+-+--------------+------------+----------+ -| |RTL Partition |Replication |Instances | -+-+--------------+------------+----------+ -+-+--------------+------------+----------+ -No constraint files found. ---------------------------------------------------------------------------------- -Start Timing Optimization ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -Finished Timing Optimization : Time (s): cpu = 00:00:07 ; elapsed = 00:00:08 . Memory (MB): peak = 594.980 ; gain = 337.395 ---------------------------------------------------------------------------------- - -Report RTL Partitions: -+-+--------------+------------+----------+ -| |RTL Partition |Replication |Instances | -+-+--------------+------------+----------+ -+-+--------------+------------+----------+ ---------------------------------------------------------------------------------- -Start Technology Mapping ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -Finished Technology Mapping : Time (s): cpu = 00:00:08 ; elapsed = 00:00:08 . Memory (MB): peak = 594.980 ; gain = 337.395 +Finished Technology Mapping : Time (s): cpu = 00:00:18 ; elapsed = 00:00:18 . Memory (MB): peak = 666.957 ; gain = 404.473 --------------------------------------------------------------------------------- Report RTL Partitions: @@ -393,7 +417,7 @@ Start Final Netlist Cleanup Finished Final Netlist Cleanup --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- -Finished IO Insertion : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +Finished IO Insertion : Time (s): cpu = 00:00:19 ; elapsed = 00:00:20 . Memory (MB): peak = 666.957 ; gain = 404.473 --------------------------------------------------------------------------------- Report Check Netlist: @@ -406,7 +430,7 @@ Report Check Netlist: Start Renaming Generated Instances --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- -Finished Renaming Generated Instances : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +Finished Renaming Generated Instances : Time (s): cpu = 00:00:19 ; elapsed = 00:00:20 . Memory (MB): peak = 666.957 ; gain = 404.473 --------------------------------------------------------------------------------- Report RTL Partitions: @@ -418,25 +442,25 @@ Report RTL Partitions: Start Rebuilding User Hierarchy --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- -Finished Rebuilding User Hierarchy : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +Finished Rebuilding User Hierarchy : Time (s): cpu = 00:00:19 ; elapsed = 00:00:20 . Memory (MB): peak = 666.957 ; gain = 404.473 --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- Start Renaming Generated Ports --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- -Finished Renaming Generated Ports : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +Finished Renaming Generated Ports : Time (s): cpu = 00:00:19 ; elapsed = 00:00:20 . Memory (MB): peak = 666.957 ; gain = 404.473 --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- Start Handling Custom Attributes --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- -Finished Handling Custom Attributes : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +Finished Handling Custom Attributes : Time (s): cpu = 00:00:19 ; elapsed = 00:00:20 . Memory (MB): peak = 666.957 ; gain = 404.473 --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- Start Renaming Generated Nets --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- -Finished Renaming Generated Nets : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +Finished Renaming Generated Nets : Time (s): cpu = 00:00:19 ; elapsed = 00:00:20 . Memory (MB): peak = 666.957 ; gain = 404.473 --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- Start Writing Synthesis Report @@ -453,42 +477,44 @@ Report Cell Usage: | |Cell |Count | +------+-----+------+ |1 |BUFG | 1| -|2 |LUT2 | 1| -|3 |LUT3 | 2| -|4 |LUT4 | 1| -|5 |FDRE | 3| -|6 |IBUF | 2| -|7 |OBUF | 1| +|2 |LUT1 | 1| +|3 |LUT2 | 1| +|4 |LUT3 | 1| +|5 |LUT4 | 1| +|6 |LUT5 | 2| +|7 |FDRE | 5| +|8 |IBUF | 2| +|9 |OBUF | 1| +------+-----+------+ Report Instance Areas: +------+---------+----------+------+ | |Instance |Module |Cells | +------+---------+----------+------+ -|1 |top | | 11| -|2 | FetchU |FetchUnit | 7| -|3 | PC |register | 7| +|1 |top | | 15| +|2 | FetchU |FetchUnit | 11| +|3 | PC |register | 11| +------+---------+----------+------+ --------------------------------------------------------------------------------- -Finished Writing Synthesis Report : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +Finished Writing Synthesis Report : Time (s): cpu = 00:00:19 ; elapsed = 00:00:20 . Memory (MB): peak = 666.957 ; gain = 404.473 --------------------------------------------------------------------------------- -Synthesis finished with 0 errors, 0 critical warnings and 185 warnings. -Synthesis Optimization Runtime : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 -Synthesis Optimization Complete : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +Synthesis finished with 0 errors, 0 critical warnings and 181 warnings. +Synthesis Optimization Runtime : Time (s): cpu = 00:00:19 ; elapsed = 00:00:20 . Memory (MB): peak = 666.957 ; gain = 404.473 +Synthesis Optimization Complete : Time (s): cpu = 00:00:19 ; elapsed = 00:00:20 . Memory (MB): peak = 666.957 ; gain = 404.473 INFO: [Project 1-571] Translating synthesized netlist INFO: [Project 1-570] Preparing netlist for logic optimization INFO: [Opt 31-138] Pushed 0 inverter(s) to 0 load pin(s). -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 681.789 ; gain = 0.000 +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 688.945 ; gain = 0.000 INFO: [Project 1-111] Unisim Transformation Summary: No Unisim elements were transformed. INFO: [Common 17-83] Releasing license: Synthesis -87 Infos, 132 Warnings, 0 Critical Warnings and 0 Errors encountered. +104 Infos, 128 Warnings, 0 Critical Warnings and 0 Errors encountered. synth_design completed successfully -synth_design: Time (s): cpu = 00:00:13 ; elapsed = 00:00:23 . Memory (MB): peak = 681.789 ; gain = 431.723 -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 681.789 ; gain = 0.000 +synth_design: Time (s): cpu = 00:00:24 ; elapsed = 00:00:27 . Memory (MB): peak = 688.945 ; gain = 439.730 +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 688.945 ; gain = 0.000 WARNING: [Constraints 18-5210] No constraints selected for write. Resolution: This message can indicate that there are no constraints for the design, or it can indicate that the used_in flags are set such that the constraints are ignored. This later case is used when running synth_design to not write synthesis constraints to the resulting checkpoint. Instead, project constraints are read when the synthesized design is opened. -INFO: [Common 17-1381] The checkpoint 'C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1/CPU9bits.dcp' has been generated. +INFO: [Common 17-1381] The checkpoint 'C:/Users/JoseIgnacio/CA Lab/lab2CA.runs/synth_1/CPU9bits.dcp' has been generated. INFO: [runtcl-4] Executing : report_utilization -file CPU9bits_utilization_synth.rpt -pb CPU9bits_utilization_synth.pb -INFO: [Common 17-206] Exiting Vivado at Wed Mar 20 10:54:03 2019... +INFO: [Common 17-206] Exiting Vivado at Sun Mar 24 12:09:01 2019... diff --git a/lab2CA.runs/synth_1/CPU9bits_utilization_synth.pb b/lab2CA.runs/synth_1/CPU9bits_utilization_synth.pb index cc5951344f5154e4bafa666c57105db05e653813..fad9443840651607eb8fa9b5ddf321c053de7fa6 100644 GIT binary patch delta 29 lcmZ3;w2*0nx$pvqxx5TKZXQp0xvneQycJ?#aG2hT-TLt-U=}=FiiBi4gh~|2*>~c diff --git a/lab2CA.runs/synth_1/CPU9bits_utilization_synth.rpt b/lab2CA.runs/synth_1/CPU9bits_utilization_synth.rpt index e0a53ec..0161a66 100644 --- a/lab2CA.runs/synth_1/CPU9bits_utilization_synth.rpt +++ b/lab2CA.runs/synth_1/CPU9bits_utilization_synth.rpt @@ -1,8 +1,8 @@ Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. ----------------------------------------------------------------------------------------------------------- | Tool Version : Vivado v.2018.3 (win64) Build 2405991 Thu Dec 6 23:38:27 MST 2018 -| Date : Wed Mar 20 10:54:03 2019 -| Host : DESKTOP-8QFGS52 running 64-bit major release (build 9200) +| Date : Sun Mar 24 12:09:01 2019 +| Host : DESKTOP-CSFKQTV running 64-bit major release (build 9200) | Command : report_utilization -file CPU9bits_utilization_synth.rpt -pb CPU9bits_utilization_synth.pb | Design : CPU9bits | Device : 7k160tifbg484-2L @@ -30,11 +30,11 @@ Table of Contents +-------------------------+------+-------+-----------+-------+ | Site Type | Used | Fixed | Available | Util% | +-------------------------+------+-------+-----------+-------+ -| Slice LUTs* | 2 | 0 | 101400 | <0.01 | -| LUT as Logic | 2 | 0 | 101400 | <0.01 | +| Slice LUTs* | 3 | 0 | 101400 | <0.01 | +| LUT as Logic | 3 | 0 | 101400 | <0.01 | | LUT as Memory | 0 | 0 | 35000 | 0.00 | -| Slice Registers | 3 | 0 | 202800 | <0.01 | -| Register as Flip Flop | 3 | 0 | 202800 | <0.01 | +| Slice Registers | 5 | 0 | 202800 | <0.01 | +| Register as Flip Flop | 5 | 0 | 202800 | <0.01 | | Register as Latch | 0 | 0 | 202800 | 0.00 | | F7 Muxes | 0 | 0 | 50700 | 0.00 | | F8 Muxes | 0 | 0 | 25350 | 0.00 | @@ -57,7 +57,7 @@ Table of Contents | 0 | Yes | - | Set | | 0 | Yes | - | Reset | | 0 | Yes | Set | - | -| 3 | Yes | Reset | - | +| 5 | Yes | Reset | - | +-------+--------------+-------------+--------------+ @@ -151,12 +151,14 @@ Table of Contents +----------+------+---------------------+ | Ref Name | Used | Functional Category | +----------+------+---------------------+ -| FDRE | 3 | Flop & Latch | -| LUT3 | 2 | LUT | +| FDRE | 5 | Flop & Latch | +| LUT5 | 2 | LUT | | IBUF | 2 | IO | | OBUF | 1 | IO | | LUT4 | 1 | LUT | +| LUT3 | 1 | LUT | | LUT2 | 1 | LUT | +| LUT1 | 1 | LUT | | BUFG | 1 | Clock | +----------+------+---------------------+ diff --git a/lab2CA.runs/synth_1/gen_run.xml b/lab2CA.runs/synth_1/gen_run.xml index c62a493..f07d47e 100644 --- a/lab2CA.runs/synth_1/gen_run.xml +++ b/lab2CA.runs/synth_1/gen_run.xml @@ -1,9 +1,14 @@ - + + + + + + diff --git a/lab2CA.runs/synth_1/vivado.jou b/lab2CA.runs/synth_1/vivado.jou index 03aec58..85184e7 100644 --- a/lab2CA.runs/synth_1/vivado.jou +++ b/lab2CA.runs/synth_1/vivado.jou @@ -2,11 +2,11 @@ # Vivado v2018.3 (64-bit) # SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 # IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Wed Mar 20 10:53:36 2019 -# Process ID: 12136 -# Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1 +# Start of session at: Sun Mar 24 12:08:28 2019 +# Process ID: 6500 +# Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.runs/synth_1 # Command line: vivado.exe -log CPU9bits.vds -product Vivado -mode batch -messageDb vivado.pb -notrace -source CPU9bits.tcl -# Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1/CPU9bits.vds -# Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1\vivado.jou +# Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.runs/synth_1/CPU9bits.vds +# Journal file: C:/Users/JoseIgnacio/CA Lab/lab2CA.runs/synth_1\vivado.jou #----------------------------------------------------------- source CPU9bits.tcl -notrace diff --git a/lab2CA.runs/synth_1/vivado.pb b/lab2CA.runs/synth_1/vivado.pb index 3021c23c6a08afab544c079d2f0327edec2eebe1..0b32f9204011586ee3d01872b8d8001ebefb943a 100644 GIT binary patch delta 6569 zcmcgxeNYqW8NW9q1eWiRFLDBJKt%;YHk(g4h47(BK_be@fS!$zLM$XPn@~_r(Q&H1 znfB1-GCsJQQX_m>h)% zL)h!XZp?ap{oz4(5Qjzsp4?QOly+F`t7LvRJIb26sQQNLs!rAuWUE^ItY>|{&)w_w zS2Z{>(0vWCAzdd=wO8^c@I*U?bV(&V=Bv~)Hk*OA+i?xm1f^q390@z3M*66<4xUaMk0gO-lMUnLi@KN6t zz<7V95Gcw5E@NmO&gZXDIb%8Q%M`?q7A}X{EU%C$5B)pqO);o8t0Wfqb9x#M=ByT_ z<(0(ZpIcr7dvgVA9Lpi^n3xBHLNvWUDn!#WDB|hWE2o4Ule)YrxL#S*FjFrB>{HhX zagG+2f=jnFMyu0^NFo%{H3scVq8?^WT=|k3I9ed?Mfbe0hh`FgoiJ1ew;uhC5cFap z5?Y4JqO*eQ<7-xft9XwfR=2hcim{+P;ISq8<3e`)$<8c!TO5j?w*Jx|3Q=Y}$2l)7 z{f;Q77?(hF*=`}6&)}=eFNs65ea(PwMU5D3YK5qVsTH#xXfUr5-5J-*<2$3KWDTLw zu%lcw*!A*nh~<%Mh2iz*{D# zFs%#*8IdaTkUn;OdEG3y{bQZ*vNbNgv#_k3}>?4nI_%odmT zisO)A(D5}o7_UB)0NV$*Y8(min~x>JY53miZ;9CdSa5xy_O{4+Q>@S*)vZS4UZ}SV zu}D2q91bhciVAq&*+PiBv=z`1;W|AHyfGYuZOFNA2mTrB_{fgTi)RMVGR_F900zP z_l$l;0&ibYL|UG7r9YV4$Xka_$kR?Ds$|F$?1u`!eufifz;-tGHhRnSz` z=nsd$J)o0oDe2nAjwW!X_1qnkf8UOo;iwjA*D%S5Dp^QWj~VnoRnC>A5|Bk$=esnEv4PCV zs7icc%YG*Dg)RG;#k#PW9$rjz0Wr}<6GJB>M!#Uc0qRrDZ8xP*yAhIdk+zZXt}OY? z%?CDKISe=6?2*tmGE?UBU+3F3TC3GcMus^PtJz3K*qMp-=D$>+cXb#yh1|gq?r3kT zz#UHVr*V@DyM29l(}4F2WZl#6Wka4I`4R93`THjscbB0|*fkV{iBHotCQ7o5&COgT zV@G|V0h5kOrHHR;{=J*Re=oL$Y5@ITlwb^K;P#(oP!-4m{IL{PzOUh3Z4TT^@1h#V z+WdXtK@Z;G9`fM$XAF02ZpH08c6xe4cnmjs0-*ssg1314$oCjtKNJ}B43T$`o<8hk z@fhq1#hm{Sa`BR}AsFrrk++&{o*{p5l!OaxH*P1R37^^+W=tcFnJi<+t(}|i9umTA zEZT%C>`-Vl4&;4?Z`%&($Q(Iw>+e~MJ!NB0)}>xlX?;`@SG>-Blr0aC`#+8VI@ z14X3u(z%o*yE1}4yd;5Z?<&Cl!P&^3r=MI0?B!+&ZRcAW(J*~kE85Y-_G~)g)ZI`@ zOvVM9KQj5JX=!rwSXPmVznwtI@kv!D`N0^Xx3!TU{Qap1G>c6A^V<(-!bK5ML@xa2 zYY%7_iQfK2N*YZXm;Z3nsYuIBNYE0*aQjkF6GurAmB!42IhPd4xjZSV&9KHS$4H-B zxJfCh&*Vq*83PMqPZLCD3qiXy}Ov3rci70^wS42(7Q-xH#p4X zwLnTf_k12Qa3`|RJLm#8o{hGqYN!<2Xy!i5MjDC9&gJExm0V^H(s0!|=$6D}hEqq? zoGTZ}LD8b59;M_~`yFrmp_y?QYz%4O*Oc6k@{oc%lZ)QCH{g5sKR2I#N`Weoc2n4g c+sJ=aOlC}*s*R3nBaKZ)+7a`0B_HYk3q-sB(f|Me delta 4719 zcmdT|ZA@EL81~$@6uMGcD5ZRrTRy}wDEIcZ&^yMYP{w4iF($HPpB?R>0ou}*jVZd# zXcl!bo3GiOMl{Ts_%+2g}oHYpcpIYX0nW&owx8dJ6%I}yM2DT zmS!2N1sh@Snga02{Au1UZ=ZWxWn)7lXRl@|;60ZKt~S*}oh}vD$#)WQOVTO{U!yo4 z2R}`;2RECcK*69Npf|ZWDN7~m>g$D*$pvx9C9piX99V)yn#W1CJZY`nv3w3ED=;$}{7*O+;)u=X0Vx zD{qQmH$i^>38Fn%TMKojM+le`f;Ks%6_Dp8VrqJXpmV|RG${ws9$TZ%!f}Ew7EgVP zbD-$WxSX_tLKrK4n1H+B(UOaC?6dvKfvU8I$T?g}&iiobtd@o1#pGVUQWop=CFbRr z!$Nx*ImVT;S4gp+tBA=_`P*ce)YUHdt>Rk}9ou6WyDNu@IKzAw#~#zQnk;aNbrLv@ zu+d7Yl4v(eC&C0r+PUKDl2%5v-z(|P*h#y?1^cT={#>xKn&eO9$L4Uvv5%0y34*mb z5ad5hfbE9qrF=sCrS<+E}~AVYA)w3bi{dR=WegLPz1TRV@pkN5@+BFTnjD@>58) z0dyUC>+1UgUA=U>vz6ZF?Q#!>y|mlo33nrD`nB*(_jyprDvUN;m8IHo=a(}FZ((`y%h@P2__j!wjUjr%C&=NGJtZ(Q zv<_9nu^mM~5AbkqSOX_^7$~b1%mWT+-6aj-&D~2S=;qK1pbcbFtR0-ekB}W+2^K=Z zz)E;$j{!d2A(C=|3GJUHP3|p}f{e919$g-Oih}WxbYpAm`tkY0k^}O*o}@mz2;zSB!ggq3}Qw%Si zSn<*kmnQnn%%uD-`LXoR-8_o!QXs88&is%H89$goPcKvln$_tOzsk__3l$zxqx6Xs zC3<$D!f_QkEfX{vv}_Sai+{r{9S?HCHyTtUG;5Gbco9Rw0S!{BSGd|6>0yb)36rUa zTT~TOJW$`ULR8dGyqkumkP2>Xr#s~L`MbjwIM`Bv?;@q}iypb|))CeSBblgW0sM*82J|ITuz2V5 za55=F=*>eGA!tNjpwmK2Hrl8#;8$5S+;A8W3pakqoVb*YmLQ77SLtU4;m;hT#1B6# zROPCaRgT+!#G#GDLn{YtvtAf8A-V8O9?}R;=AyH6<6Zve(LK?bk1CL{)9ayI-67h_ U;NOXs+HFf24*$>cvkuLF0XKEgWdHyG diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk.jou index 9e45a86..9df8652 100644 --- a/lab2CA.sim/sim_1/behav/xsim/webtalk.jou +++ b/lab2CA.sim/sim_1/behav/xsim/webtalk.jou @@ -2,11 +2,11 @@ # Webtalk v2018.3 (64-bit) # SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 # IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Fri Mar 22 17:35:57 2019 -# Process ID: 42696 -# Current directory: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim -# Command line: wbtcv.exe -mode batch -source C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace -# Log file: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log -# Journal file: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou +# Start of session at: Sun Mar 24 11:08:04 2019 +# Process ID: 15032 +# Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim +# Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace +# Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log +# Journal file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou #----------------------------------------------------------- -source C:/REPOSITORIES/Educational/Western -notrace +source C:/Users/JoseIgnacio/CA -notrace diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk_3016.backup.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk_3016.backup.jou deleted file mode 100644 index 91e8800..0000000 --- a/lab2CA.sim/sim_1/behav/xsim/webtalk_3016.backup.jou +++ /dev/null @@ -1,12 +0,0 @@ -#----------------------------------------------------------- -# Webtalk v2018.3 (64-bit) -# SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 -# IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Sat Mar 16 14:35:50 2019 -# Process ID: 3016 -# Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim -# Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/xsim_webtalk.tcl -notrace -# Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log -# Journal file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou -#----------------------------------------------------------- -source C:/Users/JoseIgnacio/CA -notrace diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk_42696.backup.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk_42696.backup.jou new file mode 100644 index 0000000..9e45a86 --- /dev/null +++ b/lab2CA.sim/sim_1/behav/xsim/webtalk_42696.backup.jou @@ -0,0 +1,12 @@ +#----------------------------------------------------------- +# Webtalk v2018.3 (64-bit) +# SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 +# IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 +# Start of session at: Fri Mar 22 17:35:57 2019 +# Process ID: 42696 +# Current directory: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim +# Command line: wbtcv.exe -mode batch -source C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace +# Log file: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log +# Journal file: C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou +#----------------------------------------------------------- +source C:/REPOSITORIES/Educational/Western -notrace diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk_4680.backup.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk_4720.backup.jou similarity index 91% rename from lab2CA.sim/sim_1/behav/xsim/webtalk_4680.backup.jou rename to lab2CA.sim/sim_1/behav/xsim/webtalk_4720.backup.jou index d81d9af..482b2a6 100644 --- a/lab2CA.sim/sim_1/behav/xsim/webtalk_4680.backup.jou +++ b/lab2CA.sim/sim_1/behav/xsim/webtalk_4720.backup.jou @@ -2,8 +2,8 @@ # Webtalk v2018.3 (64-bit) # SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 # IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Sat Mar 16 13:34:35 2019 -# Process ID: 4680 +# Start of session at: Sun Mar 24 11:07:22 2019 +# Process ID: 4720 # Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim # Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace # Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log diff --git a/lab2CA.sim/sim_1/behav/xsim/xelab.pb b/lab2CA.sim/sim_1/behav/xsim/xelab.pb index c88c42085cdf924b94fe428e5dd8e6991a60f373..9f16df32e944360d95a0c20526ac30b381b49e49 100644 GIT binary patch delta 192 zcmcbi{h4#aA120?lm9X;k`Ci?aJJG9Elw>e*7wRUPW4RBOH9tp*LQYQnEZ>`mQ9k2 z+0ejvvJH#wWEXb#`g|@=zkCJfjKsY3RE5ku1rHY=Jq4f4yzI=pbcKSV)UwR{(&C&- zh4j?C)S|?a)D(sMq%4KB%$(F>g_3-QjXvy0VXa!E-u%+6osJFA<}_ zhevv@fJazhKE`Qh9=!_sdlS5KR8mT4wmW0%d0y3rUz*_OW`Eb3B3V=B)|8qR6Ka+8 zl%t}+sdY-|j^AO{1m`I3;0cE9Q^}x>x`FNCL5h6ex4Uud25~&_y%@PJ4(tH7+k_@u zJyIN(8I)%QNl>odxiU0S&yj>KY#+c0$)gLQa}w*3k`lErA{t}$|MS-oN;sRn3!Ic3 zlj8i(#YmYF6cu8~BH4LM2!+Gto^i1loE`h-1-I!i8+ObBpH$nQFubte6Hr6S^NEcuiLZR z2Pn4Gn!5eHj^K%~1S@%hMdVl%pIWn+=!{#9EBv|(nnBoV&VLCSPZ}?8J9gW%Lr00d zHd&kQ`hQ*Q?z}TvRsZVY|CrdJw~*Ms{U6zXH?r@66~}QGQo9cx^x3G$vBc?h>BtSL zm35kqyl|(Qjt;@r>!dcVw`w=T6iEaJIXi_&ZS6BbE|RD3T#?`2D72r0M-{*R(xTf7 z=PY_*x9VaFHeZkt)^uE9TsFrE4MPH{(TS-m$AV1-PR< z*CjuLBbJsqR(bjSgkpEAR=eP%H%n!QP$7AlXx|R;i19OU9cI{lqoxp3%nsP7Vd^DX z3~XQu_9u;A*9P}$;rATNWT*}<#;lfDE6QZFh=9VBRsbH>XvtG1 zqD0pVl}YJhuuCu$WxNo>B|?Ppg^-pYMQ;uY(R3kJOOz8aBm)`ccwij)+%z0};Nx02 zPQlI_??`oax*s*oBBd$nF8Jh6P!T6`IKrxlGX-8EspMFwMtF#*DOPMsatqw4k$k%U zl_|;+dq9^?XU9AvFF|PU;KY>BD^uAl@L^51KBJPee38u0OwoK$zu^!hqY<7+toFCN zKneYaApHd(zcXcNgZnj26^aw-NLiqCFA({xl*gn7 diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c index f7bbd09..2e51652 100644 --- a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c +++ b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c @@ -46,81 +46,83 @@ typedef void (*funcp)(char *, char *); extern int main(int, char**); extern void execute_2(char*, char *); extern void execute_3(char*, char *); -extern void execute_146(char*, char *); -extern void execute_351(char*, char *); -extern void execute_352(char*, char *); +extern void execute_163(char*, char *); +extern void execute_375(char*, char *); +extern void execute_376(char*, char *); +extern void execute_354(char*, char *); extern void vlog_const_rhs_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); -extern void execute_331(char*, char *); -extern void execute_332(char*, char *); -extern void execute_334(char*, char *); -extern void execute_335(char*, char *); -extern void execute_336(char*, char *); -extern void execute_337(char*, char *); -extern void execute_338(char*, char *); -extern void execute_339(char*, char *); -extern void execute_340(char*, char *); -extern void execute_341(char*, char *); -extern void execute_342(char*, char *); -extern void execute_343(char*, char *); -extern void execute_344(char*, char *); -extern void execute_345(char*, char *); -extern void execute_346(char*, char *); -extern void execute_347(char*, char *); -extern void execute_348(char*, char *); -extern void execute_349(char*, char *); -extern void execute_350(char*, char *); +extern void execute_356(char*, char *); +extern void execute_358(char*, char *); +extern void execute_359(char*, char *); +extern void execute_360(char*, char *); +extern void execute_361(char*, char *); +extern void execute_362(char*, char *); +extern void execute_363(char*, char *); +extern void execute_364(char*, char *); +extern void execute_365(char*, char *); +extern void execute_366(char*, char *); +extern void execute_367(char*, char *); +extern void execute_368(char*, char *); +extern void execute_369(char*, char *); +extern void execute_370(char*, char *); +extern void execute_371(char*, char *); +extern void execute_372(char*, char *); +extern void execute_373(char*, char *); +extern void execute_374(char*, char *); extern void execute_6(char*, char *); extern void execute_7(char*, char *); extern void execute_9(char*, char *); extern void execute_10(char*, char *); -extern void execute_151(char*, char *); -extern void execute_152(char*, char *); -extern void execute_153(char*, char *); -extern void execute_154(char*, char *); -extern void execute_155(char*, char *); -extern void execute_156(char*, char *); -extern void execute_157(char*, char *); +extern void execute_168(char*, char *); +extern void execute_169(char*, char *); +extern void execute_170(char*, char *); +extern void execute_171(char*, char *); +extern void execute_172(char*, char *); +extern void execute_173(char*, char *); +extern void execute_174(char*, char *); extern void execute_13(char*, char *); extern void execute_15(char*, char *); extern void execute_23(char*, char *); -extern void execute_177(char*, char *); -extern void execute_179(char*, char *); -extern void execute_180(char*, char *); -extern void execute_158(char*, char *); -extern void execute_159(char*, char *); -extern void execute_40(char*, char *); -extern void execute_289(char*, char *); -extern void execute_290(char*, char *); -extern void execute_218(char*, char *); -extern void execute_199(char*, char *); -extern void execute_239(char*, char *); -extern void execute_240(char*, char *); -extern void execute_241(char*, char *); +extern void execute_201(char*, char *); +extern void execute_203(char*, char *); +extern void execute_204(char*, char *); +extern void execute_182(char*, char *); +extern void execute_183(char*, char *); +extern void execute_55(char*, char *); +extern void execute_313(char*, char *); +extern void execute_314(char*, char *); extern void execute_242(char*, char *); -extern void execute_243(char*, char *); -extern void execute_244(char*, char *); -extern void execute_286(char*, char *); -extern void execute_287(char*, char *); -extern void execute_108(char*, char *); -extern void execute_110(char*, char *); -extern void execute_309(char*, char *); +extern void execute_223(char*, char *); +extern void execute_263(char*, char *); +extern void execute_264(char*, char *); +extern void execute_265(char*, char *); +extern void execute_266(char*, char *); +extern void execute_267(char*, char *); +extern void execute_268(char*, char *); extern void execute_310(char*, char *); -extern void execute_128(char*, char *); -extern void execute_148(char*, char *); -extern void execute_149(char*, char *); -extern void execute_150(char*, char *); +extern void execute_311(char*, char *); +extern void execute_123(char*, char *); +extern void execute_125(char*, char *); +extern void execute_333(char*, char *); +extern void execute_334(char*, char *); +extern void execute_143(char*, char *); extern void execute_353(char*, char *); -extern void execute_354(char*, char *); -extern void execute_355(char*, char *); -extern void execute_356(char*, char *); -extern void execute_357(char*, char *); +extern void execute_165(char*, char *); +extern void execute_166(char*, char *); +extern void execute_167(char*, char *); +extern void execute_377(char*, char *); +extern void execute_378(char*, char *); +extern void execute_379(char*, char *); +extern void execute_380(char*, char *); +extern void execute_381(char*, char *); extern void vlog_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); -funcp funcTab[71] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_146, (funcp)execute_351, (funcp)execute_352, (funcp)vlog_const_rhs_process_execute_0_fast_no_reg_no_agg, (funcp)execute_331, (funcp)execute_332, (funcp)execute_334, (funcp)execute_335, (funcp)execute_336, (funcp)execute_337, (funcp)execute_338, (funcp)execute_339, (funcp)execute_340, (funcp)execute_341, (funcp)execute_342, (funcp)execute_343, (funcp)execute_344, (funcp)execute_345, (funcp)execute_346, (funcp)execute_347, (funcp)execute_348, (funcp)execute_349, (funcp)execute_350, (funcp)execute_6, (funcp)execute_7, (funcp)execute_9, (funcp)execute_10, (funcp)execute_151, (funcp)execute_152, (funcp)execute_153, (funcp)execute_154, (funcp)execute_155, (funcp)execute_156, (funcp)execute_157, (funcp)execute_13, (funcp)execute_15, (funcp)execute_23, (funcp)execute_177, (funcp)execute_179, (funcp)execute_180, (funcp)execute_158, (funcp)execute_159, (funcp)execute_40, (funcp)execute_289, (funcp)execute_290, (funcp)execute_218, (funcp)execute_199, (funcp)execute_239, (funcp)execute_240, (funcp)execute_241, (funcp)execute_242, (funcp)execute_243, (funcp)execute_244, (funcp)execute_286, (funcp)execute_287, (funcp)execute_108, (funcp)execute_110, (funcp)execute_309, (funcp)execute_310, (funcp)execute_128, (funcp)execute_148, (funcp)execute_149, (funcp)execute_150, (funcp)execute_353, (funcp)execute_354, (funcp)execute_355, (funcp)execute_356, (funcp)execute_357, (funcp)vlog_transfunc_eventcallback}; -const int NumRelocateId= 71; +extern void transaction_56(char*, char*, unsigned, unsigned, unsigned); +funcp funcTab[73] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_163, (funcp)execute_375, (funcp)execute_376, (funcp)execute_354, (funcp)vlog_const_rhs_process_execute_0_fast_no_reg_no_agg, (funcp)execute_356, (funcp)execute_358, (funcp)execute_359, (funcp)execute_360, (funcp)execute_361, (funcp)execute_362, (funcp)execute_363, (funcp)execute_364, (funcp)execute_365, (funcp)execute_366, (funcp)execute_367, (funcp)execute_368, (funcp)execute_369, (funcp)execute_370, (funcp)execute_371, (funcp)execute_372, (funcp)execute_373, (funcp)execute_374, (funcp)execute_6, (funcp)execute_7, (funcp)execute_9, (funcp)execute_10, (funcp)execute_168, (funcp)execute_169, (funcp)execute_170, (funcp)execute_171, (funcp)execute_172, (funcp)execute_173, (funcp)execute_174, (funcp)execute_13, (funcp)execute_15, (funcp)execute_23, (funcp)execute_201, (funcp)execute_203, (funcp)execute_204, (funcp)execute_182, (funcp)execute_183, (funcp)execute_55, (funcp)execute_313, (funcp)execute_314, (funcp)execute_242, (funcp)execute_223, (funcp)execute_263, (funcp)execute_264, (funcp)execute_265, (funcp)execute_266, (funcp)execute_267, (funcp)execute_268, (funcp)execute_310, (funcp)execute_311, (funcp)execute_123, (funcp)execute_125, (funcp)execute_333, (funcp)execute_334, (funcp)execute_143, (funcp)execute_353, (funcp)execute_165, (funcp)execute_166, (funcp)execute_167, (funcp)execute_377, (funcp)execute_378, (funcp)execute_379, (funcp)execute_380, (funcp)execute_381, (funcp)vlog_transfunc_eventcallback, (funcp)transaction_56}; +const int NumRelocateId= 73; void relocate(char *dp) { - iki_relocate(dp, "xsim.dir/CPU9bits_tb_behav/xsim.reloc", (void **)funcTab, 71); + iki_relocate(dp, "xsim.dir/CPU9bits_tb_behav/xsim.reloc", (void **)funcTab, 73); /*Populate the transaction function pointer field in the whole net structure */ } diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl index 2f2db09..d825740 100644 --- a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl +++ b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl @@ -1,6 +1,6 @@ -webtalk_init -webtalk_dir C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/ +webtalk_init -webtalk_dir C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/ webtalk_register_client -client project -webtalk_add_data -client project -key date_generated -value "Fri Mar 22 19:51:50 2019" -context "software_version_and_target_device" +webtalk_add_data -client project -key date_generated -value "Sun Mar 24 12:08:19 2019" -context "software_version_and_target_device" webtalk_add_data -client project -key product_version -value "XSIM v2018.3 (64-bit)" -context "software_version_and_target_device" webtalk_add_data -client project -key build_version -value "2405991" -context "software_version_and_target_device" webtalk_add_data -client project -key os_platform -value "WIN64" -context "software_version_and_target_device" @@ -12,21 +12,21 @@ webtalk_add_data -client project -key target_family -value "not_applicable" -con webtalk_add_data -client project -key target_device -value "not_applicable" -context "software_version_and_target_device" webtalk_add_data -client project -key target_package -value "not_applicable" -context "software_version_and_target_device" webtalk_add_data -client project -key target_speed -value "not_applicable" -context "software_version_and_target_device" -webtalk_add_data -client project -key random_id -value "f67bb5263bf851bf9c1beaa84fe1017c" -context "software_version_and_target_device" +webtalk_add_data -client project -key random_id -value "17336daf-0d92-4f07-b4a4-ff1c52043edb" -context "software_version_and_target_device" webtalk_add_data -client project -key project_id -value "0a5803efda44405bb28bbf43ba22e808" -context "software_version_and_target_device" -webtalk_add_data -client project -key project_iteration -value "18" -context "software_version_and_target_device" +webtalk_add_data -client project -key project_iteration -value "81" -context "software_version_and_target_device" webtalk_add_data -client project -key os_name -value "Microsoft Windows 8 or later , 64-bit" -context "user_environment" webtalk_add_data -client project -key os_release -value "major release (build 9200)" -context "user_environment" -webtalk_add_data -client project -key cpu_name -value "Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz" -context "user_environment" -webtalk_add_data -client project -key cpu_speed -value "2395 MHz" -context "user_environment" +webtalk_add_data -client project -key cpu_name -value "Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz" -context "user_environment" +webtalk_add_data -client project -key cpu_speed -value "2594 MHz" -context "user_environment" webtalk_add_data -client project -key total_processors -value "1" -context "user_environment" -webtalk_add_data -client project -key system_ram -value "17.000 GB" -context "user_environment" +webtalk_add_data -client project -key system_ram -value "8.000 GB" -context "user_environment" webtalk_register_client -client xsim webtalk_add_data -client xsim -key Command -value "xsim" -context "xsim\\command_line_options" webtalk_add_data -client xsim -key trace_waveform -value "true" -context "xsim\\usage" webtalk_add_data -client xsim -key runtime -value "515 ns" -context "xsim\\usage" webtalk_add_data -client xsim -key iteration -value "0" -context "xsim\\usage" -webtalk_add_data -client xsim -key Simulation_Time -value "0.06_sec" -context "xsim\\usage" -webtalk_add_data -client xsim -key Simulation_Memory -value "5772_KB" -context "xsim\\usage" -webtalk_transmit -clientid 1177213565 -regid "" -xml C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/REPOSITORIES/Educational/Western Michigan University/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "

XSIM Usage Report


" +webtalk_add_data -client xsim -key Simulation_Time -value "0.05_sec" -context "xsim\\usage" +webtalk_add_data -client xsim -key Simulation_Memory -value "5776_KB" -context "xsim\\usage" +webtalk_transmit -clientid 2651684860 -regid "" -xml C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "

XSIM Usage Report


" webtalk_terminate diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem index bea59d677b7bcc795bd8fa15f4743134031c76c2..e08329360722c0bc4eb249b6fa09be19688f484e 100644 GIT binary patch literal 18061 zcmeIYc{r5c{|EeS)j}nqtVL1Q$i9psgpd$fi;#7)GYoC^t?b#R$dYZcZ)21-#FTxV zu@5H37-N_*Jol(i-{tw^`RDob*L8KBbKmzluk+r{>-|1w{Oe!;{cjF@aR0@ZKkXU6 z-_QR&>i?ep&jSBvf&a6>|5@PwFAHSs?d{S3|ATk@pU$85jNrfi#Q^l#f&Ux-G46kc z{eM25`@`oPXa4mszXL0l=5H*FSsO2s%SA?F zivxz``<0;q3qJbf0Z>v_10IdbXjmPiPB@@0Yo$3S4Acrvghd&y94Q}&lX=+e70aRW z6Gk0;&g%16$0^TiYu#n<^gISSXh*7=XBO<^gwE!M^M z^1zGm0w3O#FU9@-KHW;H<#wY#JFd(eXUV;87eUF0nic%!{Wfbd-gj0$w=a{w$XDY0 zK^0zX!)H*#{Ei!`vrSWG`CiJL9zJ9+jAC*1Rw1g{-&%yWabrBs;)kEe))&K+){19n zlRGN3@6|8j#Qa6Jz8Xd_qnaU3Jiwr%pcp?P&6&~bN#|3jJ)y$wH?sVB?xJ>TUym8- zwk`~&Nq)#uLJH(v5NvlY2c0AuJyLsipqZHAP{WmyEUV4BKCp`LUD_@%-w+Ap?pq}W zcr_YrDSVt9*7@lP&Q*48QA(S|GPYOfC717ne?7D1o;i{05BBS752|hexgtHQ25TyI zzN09Wv-dLxP}lJxsPvUA{7*uKZJbVEqp;88tO>ZD_Q|@ah0Gd3pAM^F4S)OyC3<6E z(2;Y!m6o^i<6=0$tMlHLJ9qOqOM@-ZO-VkAAR<^BY*Fbyy~F1-6SS-6CxtJzP4rTG z+}>%nCkS*)Ed-`(CX*fGbuV={7(T~^%sGxpDeLNsaSR+P#n$zFo|LhO#!IU;cS*8B7x{&Y>5 zxTiK!j$=w5C)Q|Q31^Q!>+j!~dwElNWINN?(S^Q4ID+~U_PhQ4r74wW_fE^iaiF+0 zZr1pqa^g6U5|5MXEMJ4?)7|tIrQcK^IT@eSTe!zEJJjIjbOnP3C!uO~vxZ_H?L`e7 z&^S|aQNqG7`Mk-YsxKu2q%3OJa8**E$)rjMcv2;^s6*cMhp*W3=DSaU4$7zrE7rXT z8rXM|&0+CPd;hifP6G<3Dz){$vouYHrfX!Kv-Vw=zQs1X6yNYQ4wvLM-FYywrw9@7 zE{0~LsrGEB2>Aktx2szp1i{^Y<@Y}@P2NQf4d)BR`S+5pHNBoN2zIFB^q*-k?Xuhu z*$J4WOh!KlR(VCT@Te@U6S!Q*ICUynNu@{T$lU{mkMzzxCA-JRzRV0%!Z5Fk5d2EX zn^Iehx}~flD}eO9!nv2IJyv7C;X)-HyVKR@7k~ckLoc3(P>trn zhoXh~+$qb)&eugPJCZIOH*pvQ;&;T`+U!zcD2E)+s8Zn#cRn%@CEuD>?Qab0tRVFk z_PWb2WKk}bPq%!#+EMiY*kIt)*A6YZwiYWLP-pk6GcA7gPn3q1`K{OEej(oFI-1!cd-%Jll}o)Z)roEp`*>aFbA$c8`2MccBiOnu zi=(5UiWf96c{?+rb34=Ios~T&Dz6l)iz@a|J>>mSC-xEdu(!zjK|x{GvAlf4o462X z0i#b_X-kd}kE#NWdi3&aU)+w5mwEou=}PQrBu)9+FXK4*4(iJQ6Of7)B%z`;X>g|+ zsXI=oo_yt2ond|?G!W^Nft2aNu*AcoUdIm^q}{-ar`YWdXp{tsYPAd9m+G53)TE46 z3~D+Pgv*WFeSt`Xk!#|4RSdI6Qv1?hpWe~n;Zpoa+7q6Z6?w8TjJO|!#%Kree&qBp zKfk#%Wyr1a(XT14g<-cbn4+1s*AlYF-KR;GTv?#aucI{kU5(~FP0OGD)NCdGR7|=R zv=VZDYm+914S;W$xQtCw+Xmy?1NU?S$(Rp}9!QS<>svE^TOSvx;adhOop#E~WY9Bw zi|8fiS7`_Ho?m-(BK3cpo1acZ?~E{!Q($%2v)C@^Zb9wFyPK5MFI1h$f`I08jGs^j zS^3zruVjT^?bIE%nNr-yo~5!*Q=tnu+SjQHQ}@L1R9>BJd3ou?M7H>aI zH3Ys_yf@8p*1KC$7?_BUs#CnsBrz9tek&F+vlV2%wW~o9R#;i3%?RbnYv2AJR~Tr` z=NsJ0F0r-}Fi5aWWV{@lEFpLNKexkXaeZ70D`eP8$(g6uSgBfJDZv8@jgQD6@Q`v~Fw#o?Y zz#0qQWk4D?=-0s(=4LVrAa5Ptyjd~cxz(5KeF>Q0i*k;|pPg>FO|c_Q(dNs)YuX~= zEErZgSj~Fq>^Og5oE;Jk1AnlH+D6_Al(pidBc4JmZHciWom1iDlx|7hm~Et1psyv% zx;kT^FJg5|j0H*iK1?NwCOS)Cj?XCidw&CThAzLKZLrv~>J4mcvPj;3`kj1+z#Y5A zcN968!i_O!H;QNaJEVb>{KA~#vm9_<91d%zfJ^%se+c6bI z?$Yd{wTWNxc~V!Y5L5}nyPpeC*>a=MqH;Yj>mL`NmDk$6y^O}+v!f}AaNa3tsi?X< z>Z_hA-g+({^YB&xU-P9rxm}j8In1Xd+6dxIXrAdah7-&q1tL^_E}O_%Oo=HM@W$eF zjBJp9ZBzI)w`f^1 z6;E7zxEce@iQPSCR(^y2QNQ1BoIYAH^jQmiWp16?s{K~8wo|8trheCbM-xoelxsa# z6WKn_I(?=^sWfPAfpA1JE?AhwFJ?m*TSo4`cO|t;3~Veh=oz@GEug}?+SFbdIx~xx zxPPUIJ-dLDqxt(;R=L^JZl7QHK11+oXE9IeGy9qeqOE5H>{PRZ}_#< z!_CUvbk!qXb4CH8u2#Grrz<|8^_nx9uCDa-0}Vi&Va?izsAjr=f-G)ey57#mYUnD- z^;{d^5(|hzzas%Du=9;yd{2A>VBOJWG z`iZlvwZG(gTRQ8JVXGhqs+yG1@H+@pB|)Y?$Z_)flUG9>=dK^Q`$EiUilCy?GIjF1xvYY+EStuKfKnmh0 zG)mY;-{g;jpQOjCTFpYBiaipoua@K_iQ#md+YJZ!fI2{u$6WC+h+o3dq>MfZ5E~;j zc$5_f==)&^8yIK%&xCZxIjBQOAoC&2p<#KX%A0MU6U2YkQ00g3Z^g!%`9KC>Tle3~ zP5bVfs)6>fFMzjijIjq|QaP)lzi z7vgE7SKS5$2ti>&xO|uAX2ve03^im#)rVccxfabU^mr_VJyWDdA?L-3eb@E!PduZ$ z6wBh~`no@LNZUfQ;|}-a`o_jY(|oDsYR-r6PmXNp-091r{1{w`3`u%ox=|D^ zUSf_<89bYAFG~+cV%a z2|-N~gRsq9mhUfu71$Ja*@wCX-1F(QRGK!3Fm5x7+eOQc%@{UAZrycfKXkd9AbpAf z)-L{G%Z=9rHgwxU-1(!`YNDRssUfWn_Q@1I=cHhHjYHxgq;+Zce9{b%*iI!CbWJU9 zE4e-iwl)<91iIh6vQ8K1LR&|m1=Nhiy)ok&sa#88+W)F|re{Ucu-c8uI_}w0?5ubg zY2AAt<_33@k4lddy3nQ&yFQVmO^x4ge#C^?_irOrIu1DFax>p22!U3KzXf4 zHe}^rlB{4Mro6>Hvqd#=e^rLnDp03iYL`FsYSNi-%=8bgYxpqurlv4;`NDV0&Z&sf z-l_hrGi@eRxj>Gl_?ZO3+TAtB9ihlL`U`7)!X&5^RPwbJB>t8XXsR%+e9Sx3CQm_+ zkd_mEFo~UO`FRugHWV$oYBVf^*0<7q?aPB-J_#y;IbQ`W&jLthk>Cw?Ky&Uk1}GOO z20$F#N8F-~U0C;e+~CzrHYvbmq~FLqy|OBcRlRV)@C&ea#y)+yRa0iQXA#^*t&#!Z zv0+Ix%`h_e!|%irw{MvI!}wuDlkwSQ`AeqQHNT-LWeJ5@k&8Fft3g6Xa@n;6Z)KyUKT) z!sR8#V8wwU@&ru*4Tq{tEcrAxeKT#7fRNwro4wPrbEN#U6+mq; z+DC5*zK_4(8X=;0PlCCP@fPEZB)@rc8uROm?<1UFp1g6DV{WNisiyVFdapHkw;wxE znzdT`iNod>6)Npb-Pw~T!#(v)^nE8w#mo zGDO}uBP|KF+1FO)0xkg;85&L4PVEEr@sT|0<+wiv3VF{48Xe@^e0<}_ z#>ZFYuxH+zA(@dO+wtTZZCu#F@i3;610eUXR~dOS0yvkc=$eS03ot3vw}3(&K!F7^-j$=-ci;%7yi*4gyx- zLTOb?^Mo-;k5o5b+6mre4bciY9o0`<{4pXc`QzJ7`wLfN-5p?B!dZLyTQutrjn6(P zVV>O&X9lC3Zpx-ni)>@B{X!70bbVe2uOd`gB$ihi`$%0#!66&@z#_*HE12G8pRB*vEqkbX8CA#8EV>VP%RoGTtApWChCgzn#V4uu{N~MQ|70 zIUS4+q}>W`-SbB!?$FHEeP2bh@T0RXSxpp{>@N;@1ZrnZhb=<6oDBG#{Kd|76Zlb(ViLYe-z)%-cC@ zc4gCoy^(y|93~r4e4enmEQEWU7<;Voj?4g7mDQ$;*9Ceu2R$_F0!51;-HpH|A0!tA zaLW4XR%-!(d7Q2nqY^%XV4|c^Jq%H34|7ew!AP{ky6|i3H5B0ie%S*f**%06m2`{t z3ou*h4C*98k$mEi=3ZIAm+5XePgWA7;Y89c*@yTrqdD)U3doBOM_VXL>dVBs`!EM# zjJD;6Tqj4`eI@}t|5#aUh#2{&RyD|^yH;Xm#j#3|dId!eW33BL$OPLAm_Mx``3wIA z)HIq~_@jS5dt?ZE*K4Hp_JifvqQgdI`J|$=)qELPKXYHtI$ou&A*^e*fCi#5yVmID zdZ6`t8{NH_5`CKiPVUDzqR%otY+kvQqt%5xhHW4GwyA?QboCOc6LrZbynJ;_QpYv4 zGN?*j++kiGU9N1g+JJGv5l_8k=0{tVI$chl+m1E*Hs4fE)QyIW$5xX3^S9a!8ZAS* z-lrFnbA;9xG)t@=6@2{+!ibYbF9Wb&>9D%Wn5P@|s*Q`ii8@ zlXEB-uVEOn1VcBaWuFtylj*nS!}G^p{D^weLajS#hmsNgagtH`{1DdvK8&gjT}Iho z;GfVx#v~2W!sA`26&3C3p6Ml z@{g>1taVuSKPGrPfYr$bZTr7FVK6kA`~80Ur4nn`pWP4rV{4xArchUhM<@vMC#~T% zDMcI+SNxGGA5=@X-_c#A_$;iUv=gO*|6uherdEvJ3Lf3}KF+A2yMbc=38j{VZ&LHE zp;?@YV&~!t?hTsJYis@x&k(4`1#AUZvG&wwZc&iJ>R{D)!~r6jLYE{xa(lNF?vnqvsKAH=!IAMPGOJZ8h# zm50|nbLyHD1kl0C=I@4SUv`_+q9G|3vm3pvjh@U~4@6 z(BD8!wV7@-gV)4a*m@kk6aD0sRj{LqfS4(mc#;v`InYgFVQJ&U30hqUklvM&{A}y+ z+#6Xxs$93NG^N02HH;~%xW1l)QyiIxlhRkA*M^y)nyMY)HF1HLxxdC7KM8s3B8L}! zt8Cu!Y7?Ou4H*vZLB=6XxMmB`y>g?!5=d61FX7NH%SS>v7;y=>@C}aBtnFSpIUJsY z434zIqop^$c_L;$h*6&Jp%3DSpr2>?F9gHBa@#D01974T4H|nvz%Y@=w*@pBU&)S9 zEQGE8?sQsoq>}XS5E2|_cAty@Jl*DS!qLpENy_%C;4tBoXB~JQqw@%g7N2duBZe`# zlZ8hW9@cF@4PnnLkTy#yN!ylx_m8mATyMaiK(C9v1HX0u@m-T$sQzFdC70uF#yS_A zIw(e-w61~UPk;N5Esj0szohJgj4%L?GgX6lKmHRmmW6!a`tiS-*NSO}T*bu-R}9$S z!I_wEcs$6Ot>Rhoz<4y4pu%oz03=jb_|`NY8}RN#T`p>$gc>@Bu;c=I&S0$Xgs8yz zP>dS~)tEv_o!+l*1H-s z990dFFGuds9i1$^xDejBX5Sla<}T3P=YO}J5UaoH`+d>{z&OlW*`%6(;xcpQ3 zrEXcX(%d)?%r28TOyyh%K#$(XOSSa?xNA+FHDi>^8jT4M051F=IN!QRrQoW;eR=?V ztKL;}Uv`C(Q5lrvWmJKcx5C^7cCfiCbl3EDTX>C0zbS8)5@u59PKPMn5qQcJi6%J1 zsma|oOfE`7SIL?;e&HK!#u+8FL6C^)%)CHOpoX{?m|0Y|=ulc}4MLilUiRm$xB9j6 zFy@zrXR!C(K(|O#@<=k~Demxjrxy@^Zim7}TJa+7DmN$9Lh|z#Q&8_vy@Ee%j;2$u zhfp5>nt+?Lm%h_cAJS&Ypctg3sf^!n|^IY zOlv_+&G3-mknz9Mh_KLl<)4ISfnPHRl6|@l_bsy~ZH2;7AatL_q8hCo+9<8{1LrTa zkxYb*`RuKnaS7*1GDmRk0{8J(OFQcHmMkfDe`Oo_7%1#Lk0Jj%rzdCpTCSkU1ng$C zZf|Z@jwR40Qoqm@+a?y3JDAt)XLi@d$t)FjYVqGvWVmR`ytMjvZl8mMbu5hs-`t@c z1`SZ%DYv+3l|kN&j|==`hdm0rq2nCpFw|^dKm)VX3_~Z8Ce7-rT0_qn<7ihLOARVA z=bwsU*m!QV`yVzzPy24H6bD*Y66OZ#^l>KG>uMWH9p=_vb+EanxbMSctS3^F5YUA= zuVAws^Q!1qAPZ2~0NWM$&jz!AVT|6IK!5&2C)`>0kV*B5CI<^g`YFc8&6#^W5u5!M zt2yH1L_xO{HXvCVSO{J8M+O)bSDB2_>C<(1jFNHpx5ssd#*6s$PyHbi(y2W)Obw!V z21h;Yu{;6PAD*d~AX&4zkd$sH24W7YwKR+NqrOSKs{rUM${MgNX%1@*-Pr9L!Uo@m z*A(5m;FUl^zvuH6srqY2OuujHFxm3kCr{WAy!UbFB4EOR&~9iqv>N1#4Gj1L2hE9` z^bgrLVP)@-pc|e|^Phqy-Dr*p_8Sm4!Vv8{{0T(gxIoMg05Lz_>xKHTrZCvfP5N>J zR4VUKx5FCz6xAR6#+|-(xMj8xHQG#l7&}w|5RT+a0a?4&f4P28$iwpwTUq5pOo7TP zS)-)&PIW#>C-%W)8c=$TTW+AkT%m4k4*|9sG#+ZX%FPTUyR8h;16CV~9liPhkCR=Y zry{{zgMSDbZ1}c8>>mqw7s9S#v?nWvgZn7PeFi;QSikOG_d4tK@DkJ>ivb-~YA8$) zMP3p5wjQ-Y_xL7$jIzW3w?^a!DldJr#xM6?J%+9;45E_2xo%@P6-S!TQh_}RD7iq3 zI3hzeXzy}1pmC97@oD`myrS_N*UbHF^c4=DQ%F=X#2*{B6gplAlyYKisjQ2?Gx6}J zpbx9^X`!kK7kN(TV7mc^on%G&!9R8x2XK=@7^xRwNLK+FkAJRjigf*L=#a`0}_ zKMY-?ufDon`-h?7hP3;D4f7gz6NcdNu}+&naBp2op?Z2Eap zHEm)D`{1ub8jR;6Ui>aH{WF)D>GZHk(f>;iH79|hHP{A61oH_2m2g@+Wo>R7sd?nx z*-?7(aK%)UwtfGC;S0Wc&zast=YBKLAWhX2=ni&i? zA+GHJXeRQal<@sP^r|UA{YPBq^TDZ~|7yx~^?$tTDdtrtzBx__y#F7$$l3VKE^*(f zS1@Iy?Q?&fO52aTk>@VcWDl~)?T`chEdik`Z+{+DYZsY?+b$3qjX=o5= zKh%WWm3cpJGlX)5ZL8c|-@E@apmrUqP=8X~$KPe|Q_*alZB)o1^ z4<7f^64gu&<4OnBN}HAR5|n1BtC~Lvj$<{@F7E#K!LTp*hT!`ft>3O9gTFM^jnt31 z^1QfY@|fpzic*#+5tJFbCqT8cbVFzBH(>1iXnJj`VRO@G<#&N-cj=%0lWIZj4zezs zz2(HCjGk(Z7G#f%#WtFoSe~sdOy}sBn6Kwh`S(GsQJNb$^R^{kF({eek7GY_z`j^Kbjl(cCgjA+npmG5-C9HT_IG9m_B*3mU(mo|`{( zD($(;sUoU&O2H7*Dxw4LIpc7VPM8;B473wo0nY3VsKpA8_x1nsk2_B)C6hB}6>>}r zz`f+0euz8Dq*@pM`47n}*z6Hkz4Rw+i=}{bbz0d}0@km@q;4_crMJe`Xe5xxy*21q z$=UR6#R)|z!%SgehH&~FKtKwAt156;fD)V_Cb`=GEgiG&pXfYeN0s=m!{v*4F@r<9 z6lN4mGh7}B)cSa&!`v@JSNi$?>lD>v>s^c~{%VkQEV;NPxBcp$9T>t&4B%Fx6M8@o#fOeplqml#7Q)Hb z=&;Z+Qk^5M>+rx+`k9L)W{^-?PTJ;>0FHCRSF1G496k1rT%c@(Y{nxxN3(&zI2M&d zEPpd{5Uan_UrzL9h zKS_!_EVP~{yPra*yMbcVVWsehK#~P&L1w1^YyBY~bPB z@-M60`C}xn$t?$N2YQjaY2}6^ zUIE-EWOQ`$NuwIsDw#Q%7dR>GANFuYwmO%DmpKiYFYw&K$p#K|JUi9LopdLg+OHInbpUC5fzsT=n7=GhfPsFKC%F3V zTlLh{{WAl&OgUKQH$4DXgtb`S@ihKFCA5F06ZZZc05*TW#<+VkCRC|Ian>!RfV4~W zM5;J3dqzjkV3%th_{Qs7_7krbFL0A}h6GWZeNy2ouS)01wZLZOy^*}bfB4J0@ObVU zMuTeo0GeQl^}FXBOu*$(cO$?x>|;diS2{Jo4V+>se~0jPyE4mYnzbF>U)33|IN}+g z;Aro(hZVDvcWlkQQva3+E5A8xzw}EwUhwk`)^E7PJHiPER4FI^ce~AGMYvePE9rM{ z49O!Dr9?<$rhECQAg&D%m2&#u<)lNRs^sla&t0qt=J}%DyI6|d=rK``duRh+ert7Dbq~3CJEcStwgSIvgwS(8g z^9M9Hoh;nWeljJhRLAZ!JvDat*zySg(Vj|f>dtcQzU6~{QPst^Kwz4ovHnzi6>Gj% zwQ8<58Uv+YVSPm1>?Tjj=dPUf<(c%nTec=GFK!`l38+Z=~tu4?P#W zU6}g|0CV@QiBn&~EE)K@0hYUFAJ-zI_PLsMP3W9o=5A{9$7ZKb{a8if=V0Papu@-u z&M6<*i?6&5**MFo-e8uKIwxv$EV)Iy=tY+D8KZzt>U|+cnp}H_5KT0d*zzoT(=d~UxZBRIZ5 z`$af==ycQ4w`!RwW}uV%ty*cn^R;7$c`f`!7zSyZ&PwkDn19w~@@xIlLQWm6UU7~~ zIqyeN?BS#@w$=!$&H^A20&O@(V92-*Vd039&D2VXUqAi(rU4>?E~oedgsynC|D~g7 zWMqv1unbtG&71=Omo+A^9i~r!``tJMOt8xKGo(-a{NTB3H)zu@;zgMAh6|4V>X~bb ztKAp=qdcXb%0*Am<*AaZ9;Kt#9&I1uqD$&5=)$r;wC80>FgTsvW@@^^t=f3sQqk{9 zgz5Uhbjy2A(`P%pbm^xrx%TkvZ?go3wp9Cz2OxlN%9lrmjsjv$qnTW~_XlMLSI5$A z7dV{d`hYG4GN(sInhuDGu^%6LLbuA6p6Gb!{-Bhk5<%b_+?b$1pKX5?ji6g8hZSrF z%tcE?%1QvA@zRksj*&elCDvk%5z=%iJFcPo=mXzH)?B0y@M}xI04PQ_YfC>%Zx!0c z*RAPRAw$~C+39bNwwdpb&}cJ1M}HP*OXmh!Ssg+eedV!pU{(5x>8$WQbs69XJ}S7) zobFZMmowgUPc^C&78rmwv%qiP8hZB;opebmSi!_B`bx5zgnd)=7$fHCAHc>4x*-q= ztYEqw(BtR8PW1L#WR2@-y73f^2{Lq-_821eLnC{}n{LWR%ip2Vs7A=6FPxd@$3mA- z&jg{{FpfBL2%q^oH1L*@HBx}`VC0PGF~CuZY6Saz0CPf~AA0W)oI>VZIJ^I2tVKYg zh59=jsKzp zpk_+e=@Y?(1%IXXFXqk!`~B8|a0=x??mq8_6GgwFPhesL|Cp6HijH9eXVRZfn<3ih z&~D{^p2|G7Q@A%KRGWGob@Bt^~SToinWa*!Bc5BJk|n(3U<+pL#0FcO!E(=)xhq zEgKk42UiqD`|N|&_;Kz}vHNX_n$a2Q06;O$&wl-MVJ2M(rw}cqlR(dw;6qonVR*)M zlMW7RGoPn}v#^1)=#W%Vvl`^sE8n$Zy&d zrTXdODZ3DS=z<5d(rxhtt(9@*bl=IOoDDSYv{6drJDaEFXB>n*XRD@PxUU@OCBA4` z2L7IL%HyY))ra%~R|`A{+2ab;<(0{0w{8gtUz%&OPS{(`zH&Kxg-{ayZX>Op^@n$M zs)BceMAX;*NzX)yA;o76eE|wf(98|Dg@;v{^%89Sj3v*7Hb73_XV$z-#IMi2hryz> z@ReGs7OJKtHoDeP%Top&@(Ix&3{j+Yc+n`?)r;u)d_(K@c*jNA!-Kz$0n=w_sS;7s z{S$sS+99V)y@^D(G__O1KFjT<(bvuKv+W{m0gxA$7-&0zr{}R35@9Lj_2%Pqbzdy0 z+BKFR&w5*YYlTDo!)f0h&vAk)^&Vye@YjjQZP`LTxdlneWRul^ z?>e5}rpNRq&qp!aG;%R{HTU)-=FWId3)Pq*9 z+ek+kHL zhO0xHge4{T295NfN{{9QH>?`~{vv$>OBHlH zC2ukQiPKi1*`?81%D#-u^v97`x=;dLC}GutbdHyX5rCa@>zYTF>(J{F%abcRJ#Imu zo6R4oRm#!5Yg{a*l?MyIp~Np#$gMTGAuiZ9>Z}5uG?WVCDqR_fDLenT8XYWc|MS<< zkx;G;qUWJ`?2$y6N$5RU(Zl&?uPoPUdxn$^dN!))J=m^W5R+9=(fxm6b5^91F@P7_ zA>&{lBJsw5V#Ci@jO=Ls5&XbBHY5=i+`YV7x=W-we!nm)y<96Hc0(18g#dpwy@P1$ zL81DV`)FezK7r)W<057UjOVaowrsEV=G)VOFyDJ1tHSVKc9FJs-}2sv-;*Bna2id{5mnb#&a5B7K@uMlaPuWGiU{>mi@zjA$KiPuefrO)8A@k13 zww}TF+-*76;O1K*F%?W(vLZW+_(8vsGlnYYm2-IPHFU+XB4dlHsu4li-PIcdZl}-- z?E%c4$*cXFe!kO?>+d@sZ|AYXyR8ffHk@nVhg%kOm>SW*wD!kpcWHjX&u3_7+X7@B z3zmQ1y)hpJ^)2*Vf2XxFW7p>`9T7kNbJI_nL-Pacy|y~!cxu}ZW^%^iqt@F&h^(D0 z#l8SBU|uEaUeLs*`+P@8!V*!YuPXI+r>kQCf+MEo$BBaGxPa(~E=s>B%;y8=sbwiU za+yK5p7A^`-fwW#uFn)cN*A`ma{I0cEM~&t=Z3)@`4b<_Yv41Ae3OS0SC`{JkOL829jJ) z-oby}ne_9$d6zowQ@w7z#!SY3ag}OP3aV7jo8ORHc%&x$J`y|8#91-2UP#TbjVASS zJqtdy!_{*s%vsUfRz%}G;N(SGmPC|Vm__54H?M+%*2#}bFBLy1%Y&huq{GKq0D4KXZ!9JQ)>Oatf z%76MFT&E&oFEQM|Po{#wr|sp70#>6jvz|TLSC+{-*|9|*FGZJ>;u_88v3H@XYnX@1 z03(gZ&iZc{3hULu>bB)yIyQbya0^;})Hue|4xg6a53vb-)P;(XjhDbLcOE}b`nx>e zRn7=>e^D%4a2UX++~)3xZ-(33+jVo-$U75Se1Pkq#c7(@^!=DXz+~;q=H>TY zmzO`evvcro2&a~ikJz$>1uX+tXj~gA`StHW`4nMD%On{?hFSwO4OCiE_T2k2662~;4~ktCE+{Fzr_*n;2TEdQ6|BsBKA%L==!kekR2N~wePZ53Fx!kJCqDFCn!*gBW1^*?=?4*oikj& z?DaSMI&#Uh4#bg_&*6oyqCJl#*kNEA2)NEQ4F33pUlT0j;$;5Hn6QN9K$_CSn@pxw z)ics79YSb;EFwdADQ}xckM2AVIsFIa&^dh3HMH*QPLH7SWeo2PK&upoMEp3|dzPkO zDZd1Ajq`;&>1N${e^i8_#IJ|)AyN{8$_jOM@`_iYWz2aNy zh?M&X&BP2}8#Kc;oJE&CY*Jl$Iauu{o{mwC8dN)b^tdm>omHn`duW-=XMy+;f%E zTORh2_jeK3IAcc9pPc(etOQjbQ0e*6#s#eNV_YQAuVzeT{9go^+~XIAI2<_F`b!86 z(!DY_Df;%;Ef}2uA7I>KFa_?_2l|57UrcAecdstn^92m*@ z+OM5(PA5}Pho}gz`)#IfO|E+_>x3X?X%XHs4W{l6&qAvs3RCG2Hl>k%4ez*>JsR5 z;k2Ad?E`Z5t!5Cau!LPB?qN@*hT@)|UW<%qd*RY28L+e>%HpKTPXtS2km+8uv0%rI zUprIo^HmxRGH7h{LgrR*ES$B&Os>dv?nprPI>{&iV<@_sAIWV{Ktj4oaZ!t3!^v?jB6xai`AC@6K6DufJ5Dw&Fy24)YE|Vu;yk4vA1i2K!)dM5tw3 z-E=?5@PI5Kvzj6ZFCf&>zE(~d))+<8dM=dU0V%sRjjoi~)I2$r|?2WVN z#{`?lWnO9~4ta07J{J2xo)o^WtuMl-l^S!;dyos!cdOrMU*R_7$xF1=7U+AT(@<>` z?{cB>XnUpUO7URtl25Fh|75RWgK>@d$xmLYH3`R;*977#RnvUm-Zc>Hk?KoWsOoq8 z{-vmh2M%*PkidF1TDpLz=uIOd?q1`^MJuTptFt+i=y;)z>iIEGq~i6?nYBuvtm-n7 zF+Be>sax=*WAYWnVr?JO#9yED?q*kA=hO0u&rWy+>#{%j&|t<*3??>r``R__YX;g; zgD$8y>xoAz4KQ*shG=Sg0I zL_x)XKeQF86uABNrH$gnlx(f5Z2{1W>6acRu5vdbyVolZ<_6Vuyt|5t=l3*A)X8d; zR@-D8RpbhCPP5U!Fw$=<))3!!(?j0f*5uP7Unk?h!urdMUipFe595+o#*ztj{i?D_ zwd*rSB&TkF+*!7Uoz)Tdj*A}>nS2**eAv^+*`zE7%d+e8ZPg21 zzpBsob$NK!jaZwF8jD>{4`>*QQ93MU#_9BOb+Bh+>wVe6i=WYxVO+aIq=tZQXzp$j zbg~VtZdnwS%k@h4oNbUQ70QdRi6aWAK literal 16912 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 RQ>xFji;vP-J0ueF{tr47CIbKf diff --git a/lab2CA.sim/sim_1/behav/xsim/xvlog.pb b/lab2CA.sim/sim_1/behav/xsim/xvlog.pb index 21a9edd998b96b6bb774bf8dbe8fba016c397cc5..b155e40f06a230303a04d2a77f07560e35c5dc93 100644 GIT binary patch literal 16 Xcmd<$)@r8BbV~=9xL) z`%!uBk^2|V2enM*iGR&VMN=01D%eHES6HyXmZj$QubkFlhi^6`d?6<2yy;iTDK67gNGHnDIZB%M=C$)-opk=ONrlT+r>|QW;dGX}R078>w zSBGa&m#EdY@tdXb@YHmrGFxqJS|00+z3?_oY$n&p9=evKwoG!Hqt6-HQVqlZCuA?# zVxteh-DYv^*Xv=g!(sQ6Z8XaxGl=m3_HcmTV-CoGl;19Hb@rV9-wehW_g5ZRtG5yhE||A3_(2c9vlBh#V+298U4 zJMTo5D1<@ZfhWZ$JM97uBNRT)(k?XEQhZ`&pozf~x6lrWpLIvvLW7Cp4vfOja2Cq^ zHoO*(kR3g2N7RK>h!X=xy@&0Lx^YPT3pSWKZi%9jj$5K#XfSbHr7M>5;@$zlh?b5H81m|JAL%><^?ZNTFkBR_l{2Rb~(O?xlYufk6De_YOF z-+JW9XlAlCDU6btoza`2j%0Bi_Bs|YH}1kq$-Ww_g9k5)zg+tL+9QufWcLOxFza!R=7u2P3i#7y1-$ae!;$RhwJVFoJLf2$&U+MKb|ZVht~{{Iy9lX^ N#9y#4oGO{{J^{||r;Gpq diff --git a/lab2CA.srcs/sources_1/new/CPU9bits.v b/lab2CA.srcs/sources_1/new/CPU9bits.v index a6b2452..4325239 100644 --- a/lab2CA.srcs/sources_1/new/CPU9bits.v +++ b/lab2CA.srcs/sources_1/new/CPU9bits.v @@ -5,9 +5,10 @@ module CPU9bits( output wire done ); - wire [8:0] instr, op1, op0, FUAddr,FUJB,PCout,JBRes,FUJ,FUB,AddiOut,AluOut,RFIn, loadMux, dataMemOut, linkData, SE1N, SE2N, SE3N; + wire [8:0] instr, op1, op0, FUAddr,FUJB,PCout,JBRes,FUJ,FUB,AddiOut,AluOut,RFIn, loadMux, dataMemOut, linkData, SE1N, SE2N, SE3N, bankData, bankOP; wire [2:0] FU; wire [3:0] aluOp; + wire [1:0] bankS; wire addiS, RegEn, loadS, fetchBranch, halt, cout0, cout1, link; instructionMemory iM( @@ -36,6 +37,18 @@ module CPU9bits( .op1(op1) ); + RegFile Bank( + .clk(clk), + .reset(reset), + .enable(bankS[1]), + .write_index(instr[2:1]), + .op0_idx(instr[2:1]), + .op1_idx(2'b00),//Doesn't matter + .write_data(op0), + .op0(bankOP), + .op1() + ); + FetchUnit FetchU( .clk(clk), .reset(reset), @@ -60,7 +73,8 @@ module CPU9bits( .mem(loadS), .RegEn(RegEn), .halt(done), - .link(link) + .link(link), + .bank(bankS) ); @@ -85,11 +99,11 @@ module CPU9bits( .out(JBRes), .switch(FU[2])); - sign_extend_2bit SE1( + sign_extend_3bit SE1( .A(instr[2:0]), .B(SE1N)); - sign_extend_4bit SE2( + sign_extend_5bit SE2( .A(instr[4:0]), .B(SE2N)); @@ -108,7 +122,7 @@ module CPU9bits( .Sum(AddiOut), .Cout(cout1)); - sign_extend_2bit SE3( + sign_extend_3bit SE3( .A(instr[2:0]), .B(SE3N)); @@ -123,13 +137,21 @@ module CPU9bits( mux_2_1 mux4( .A(linkData), - .B(9'b000000001), // This is DATA MEM - .out(RFIn), + .B(dataMemOut), // This is DATA MEM + .out(bankData), .switch(loadS)); + ///--------------------------Bank stuff + + mux_2_1 mux5( + .A(bankData), + .B(bankOP), + .out(RFIn), + .switch(bankS[0])); + ///--------------------------Link Stuff - mux_2_1 mux5( + mux_2_1 mux6( .A(loadMux), .B(PCout), .out(linkData), diff --git a/lab2CA.srcs/sources_1/new/ControlUnit.v b/lab2CA.srcs/sources_1/new/ControlUnit.v index b0e39e3..bd692e4 100644 --- a/lab2CA.srcs/sources_1/new/ControlUnit.v +++ b/lab2CA.srcs/sources_1/new/ControlUnit.v @@ -9,7 +9,8 @@ module ControlUnit( output reg mem, output reg RegEn, output reg halt, - output reg link); + output reg link, + output reg [1:0] bank); always @(instIn, functBit)begin case(instIn) @@ -22,6 +23,7 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end else begin aluOut <= 4'b0000; //Add @@ -31,6 +33,7 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end 4'b1101: begin aluOut <= 4'b0011; //nor @@ -40,6 +43,7 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end 4'b0100: begin aluOut <= 4'b1011; //zero @@ -49,6 +53,7 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end 4'b1110: if(functBit == 1) begin @@ -59,6 +64,7 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end else begin aluOut <= 4'b0010; //or @@ -68,6 +74,7 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end 4'b1111: if(functBit == 1) begin @@ -78,6 +85,7 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end else begin aluOut <= 4'b0101; //shift left @@ -87,6 +95,7 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end 4'b0111: begin aluOut <= 4'b1001; //Less than @@ -96,15 +105,17 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end 4'b0110: begin aluOut <= 4'b0000; addi <= 1'b1; // addi - RegEn <= 1'b1; + RegEn <= 1'b0; FU <= 3'b001; // Disable Branching halt <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end 4'b1001: begin aluOut <= 4'b0000; @@ -114,6 +125,7 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end 4'b0011: begin // link halt <= 1'b0; @@ -123,6 +135,7 @@ module ControlUnit( aluOut <= 4'b0000; mem <= 1'b0; link <= 1'b1; + bank <= 2'b10; end 4'b1100: begin aluOut <= 4'b0000; @@ -132,6 +145,7 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end 4'b1000: begin aluOut <= 4'b0000; @@ -141,6 +155,7 @@ module ControlUnit( addi <= 1'b0; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end 4'b0001: begin aluOut <= 4'b0000; @@ -150,6 +165,7 @@ module ControlUnit( addi <= 1'b0; halt <= 1'b0; link <= 1'b0; + bank <= 2'b10; end 4'b0010: begin aluOut <= 4'b0000; @@ -159,8 +175,19 @@ module ControlUnit( halt <= 1'b0; addi <= 1'b0; link <= 1'b0; + bank <= 2'b10; end - 4'b0000: begin // regs should initialize at 0, so we shouldn't need to declare it everywhere + 4'b1010: begin + halt <= 1'b0; // bank + RegEn <= !functBit; + FU <= 3'b001; // Disable Branching + addi <= 1'b0; + aluOut <= 4'b0000; + mem <= 1'b0; + link <= 1'b0; + bank <= {functBit,functBit}; + end + 4'b0000: begin halt <= 1'b1; // halt RegEn <= 1'b1; FU <= 3'b001; // Disable Branching @@ -168,6 +195,7 @@ module ControlUnit( aluOut <= 4'b0000; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end default: begin halt <= 1'b1; @@ -177,6 +205,7 @@ module ControlUnit( aluOut <= 4'b0000; mem <= 1'b0; link <= 1'b0; + bank <= 2'b10; end endcase end diff --git a/lab2CA.srcs/sources_1/new/dataMemory.v b/lab2CA.srcs/sources_1/new/dataMemory.v index aa06c1a..60f1479 100644 --- a/lab2CA.srcs/sources_1/new/dataMemory.v +++ b/lab2CA.srcs/sources_1/new/dataMemory.v @@ -27,7 +27,7 @@ module dataMemory( memory[15] <= 9'b000000000; end - always@(address)begin + always@(address, clk, memory)begin if(clk == 1'b1)begin readData <= memory[address]; if(writeEnable == 1'b0)begin diff --git a/lab2CA.srcs/sources_1/new/instructionMemory.v b/lab2CA.srcs/sources_1/new/instructionMemory.v index 95b7200..ca5612d 100644 --- a/lab2CA.srcs/sources_1/new/instructionMemory.v +++ b/lab2CA.srcs/sources_1/new/instructionMemory.v @@ -25,16 +25,25 @@ module instructionMemory( memory[10] <= 9'b111011000; //or memory[11] <= 9'b111011001; //and memory[12] <= 9'b111111000; //sll - memory[13] <= 9'b111111001; //srl + //memory[13] <= 9'b111111001; //srl + //------------------------------ + memory[13] <= 9'b010000000; //zero + memory[14] <= 9'b011000011; //addi + memory[15] <= 9'b101000000; //banks + memory[16] <= 9'b010000000; //zero + memory[17] <= 9'b101000001; //bankl + memory[18] <= 9'b010000000; //zero + memory[19] <= 9'b101000000; //banks // memory[14] <= 9'b100100010; //j - memory[14] <= 9'b010001000; //zero - memory[15] <= 9'b110001101; //beq - memory[16] <= 9'b100001000; //jr + //memory[18] <= 9'b010001000; //zero + //memory[19] <= 9'b110001101; //beq + //memory[20] <= 9'b100001000; //jr - memory[17] <= 9'b100111100; //j + //memory[17] <= 9'b100111100; //j + memory[20] <= 9'b000000000; end diff --git a/lab2CA.xpr b/lab2CA.xpr index 3648c14..c0460e6 100644 --- a/lab2CA.xpr +++ b/lab2CA.xpr @@ -3,7 +3,7 @@ - +