From be06f4e4578f26be260963500d1ef2d794ceba4e Mon Sep 17 00:00:00 2001 From: Johannes Date: Sun, 24 Mar 2019 18:55:49 -0400 Subject: [PATCH] Just changes made for simulations --- Bank_behav1.wcfg | 146 +-- lab2CA.cache/wt/webtalk_pa.xml | 91 +- lab2CA.runs/.jobs/vrs_config_42.xml | 11 + lab2CA.runs/.jobs/vrs_config_43.xml | 8 + lab2CA.runs/.jobs/vrs_config_44.xml | 11 + lab2CA.runs/impl_1/CPU9bits.vdi | 451 --------- .../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 | 60 -- lab2CA.runs/impl_1/CPU9bits_opt.dcp | Bin 8734 -> 0 bytes lab2CA.runs/impl_1/CPU9bits_placed.dcp | Bin 123653 -> 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 127302 -> 0 bytes .../impl_1/{CPU9bits.tcl => CPU9bits_tb.tcl} | 43 +- lab2CA.runs/impl_1/CPU9bits_tb.vdi | 173 ++++ lab2CA.runs/impl_1/CPU9bits_tb_drc_opted.pb | Bin 0 -> 37 bytes lab2CA.runs/impl_1/CPU9bits_tb_drc_opted.rpt | 49 + lab2CA.runs/impl_1/CPU9bits_tb_opt.dcp | Bin 0 -> 3472 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 | 209 ---- lab2CA.runs/impl_1/gen_run.xml | 121 ++- lab2CA.runs/impl_1/htr.txt | 2 +- lab2CA.runs/impl_1/init_design.pb | Bin 1622 -> 1625 bytes lab2CA.runs/impl_1/opt_design.pb | Bin 10821 -> 10581 bytes lab2CA.runs/impl_1/place_design.pb | Bin 11934 -> 3233 bytes lab2CA.runs/impl_1/vivado.jou | 14 +- lab2CA.runs/impl_1/vivado.pb | Bin 149 -> 16 bytes lab2CA.runs/synth_1/CPU9bits.dcp | Bin 8441 -> 0 bytes lab2CA.runs/synth_1/CPU9bits.vds | 520 ---------- lab2CA.runs/synth_1/CPU9bits_tb.dcp | Bin 0 -> 3103 bytes .../synth_1/{CPU9bits.tcl => CPU9bits_tb.tcl} | 29 +- lab2CA.runs/synth_1/CPU9bits_tb.vds | 951 ++++++++++++++++++ .../synth_1/CPU9bits_tb_utilization_synth.pb | Bin 0 -> 289 bytes ....rpt => CPU9bits_tb_utilization_synth.rpt} | 95 +- .../synth_1/CPU9bits_utilization_synth.pb | Bin 289 -> 0 bytes lab2CA.runs/synth_1/gen_run.xml | 19 +- lab2CA.runs/synth_1/htr.txt | 2 +- lab2CA.runs/synth_1/vivado.jou | 14 +- lab2CA.runs/synth_1/vivado.pb | Bin 73425 -> 111958 bytes lab2CA.sim/sim_1/behav/xsim/webtalk.jou | 14 +- .../sim_1/behav/xsim/webtalk_11344.backup.jou | 12 + ...56.backup.jou => webtalk_12056.backup.jou} | 8 +- .../sim_1/behav/xsim/webtalk_13536.backup.jou | 12 + ...20.backup.jou => webtalk_15032.backup.jou} | 4 +- .../sim_1/behav/xsim/webtalk_18656.backup.jou | 12 - .../sim_1/behav/xsim/webtalk_37516.backup.jou | 12 - lab2CA.sim/sim_1/behav/xsim/xelab.pb | Bin 5421 -> 4381 bytes .../webtalk/xsim_webtalk.tcl | 28 +- .../xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem | Bin 19561 -> 19403 bytes .../webtalk/usage_statistics_ext_xsim.xml | 12 +- .../webtalk/xsim_webtalk.tcl | 10 +- .../xsim.dir/dataMemory_tb_behav/xsim.mem | Bin 3351 -> 3319 bytes .../webtalk/usage_statistics_ext_xsim.xml | 12 +- .../webtalk/xsim_webtalk.tcl | 12 +- .../instructionMemory_tb_behav/xsim.mem | Bin 3086 -> 3105 bytes lab2CA.sim/sim_1/behav/xsim/xvlog.pb | Bin 8668 -> 8668 bytes lab2CA.srcs/sources_1/new/CPU9bits.v | 4 +- lab2CA.srcs/sources_1/new/dataMemory.v | 77 +- lab2CA.srcs/sources_1/new/instructionMemory.v | 182 ++-- lab2CA.xpr | 4 +- 73 files changed, 1642 insertions(+), 3006 deletions(-) create mode 100644 lab2CA.runs/.jobs/vrs_config_42.xml create mode 100644 lab2CA.runs/.jobs/vrs_config_43.xml create mode 100644 lab2CA.runs/.jobs/vrs_config_44.xml 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 rename lab2CA.runs/impl_1/{CPU9bits.tcl => CPU9bits_tb.tcl} (66%) create mode 100644 lab2CA.runs/impl_1/CPU9bits_tb.vdi create mode 100644 lab2CA.runs/impl_1/CPU9bits_tb_drc_opted.pb create mode 100644 lab2CA.runs/impl_1/CPU9bits_tb_drc_opted.rpt create mode 100644 lab2CA.runs/impl_1/CPU9bits_tb_opt.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/synth_1/CPU9bits.dcp delete mode 100644 lab2CA.runs/synth_1/CPU9bits.vds create mode 100644 lab2CA.runs/synth_1/CPU9bits_tb.dcp rename lab2CA.runs/synth_1/{CPU9bits.tcl => CPU9bits_tb.tcl} (61%) create mode 100644 lab2CA.runs/synth_1/CPU9bits_tb.vds create mode 100644 lab2CA.runs/synth_1/CPU9bits_tb_utilization_synth.pb rename lab2CA.runs/synth_1/{CPU9bits_utilization_synth.rpt => CPU9bits_tb_utilization_synth.rpt} (68%) delete mode 100644 lab2CA.runs/synth_1/CPU9bits_utilization_synth.pb create mode 100644 lab2CA.sim/sim_1/behav/xsim/webtalk_11344.backup.jou rename lab2CA.sim/sim_1/behav/xsim/{webtalk_4156.backup.jou => webtalk_12056.backup.jou} (72%) create mode 100644 lab2CA.sim/sim_1/behav/xsim/webtalk_13536.backup.jou rename lab2CA.sim/sim_1/behav/xsim/{webtalk_4720.backup.jou => webtalk_15032.backup.jou} (91%) delete mode 100644 lab2CA.sim/sim_1/behav/xsim/webtalk_18656.backup.jou delete mode 100644 lab2CA.sim/sim_1/behav/xsim/webtalk_37516.backup.jou diff --git a/Bank_behav1.wcfg b/Bank_behav1.wcfg index 123f0ad..6b6b291 100644 --- a/Bank_behav1.wcfg +++ b/Bank_behav1.wcfg @@ -3,154 +3,44 @@ - + - + - - + + - + - - + + clk clk - - reset - reset + + writeEnable + writeEnable - - done - done - - - clk - clk - - + address[8:0] address[8:0] + - + + writeData[8:0] + writeData[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 5dc712a..68fcb63 100644 --- a/lab2CA.cache/wt/webtalk_pa.xml +++ b/lab2CA.cache/wt/webtalk_pa.xml @@ -3,10 +3,10 @@ - +
- +
@@ -25,18 +25,18 @@ This means code written to parse this file will need to be revisited each subseq - - - + + + - + - + - - - + + + @@ -44,29 +44,29 @@ This means code written to parse this file will need to be revisited each subseq - + - + - + - - + + - + - + - + @@ -77,6 +77,7 @@ This means code written to parse this file will need to be revisited each subseq + @@ -101,27 +102,29 @@ This means code written to parse this file will need to be revisited each subseq - + - + + - + + - + - + - + @@ -129,53 +132,51 @@ This means code written to parse this file will need to be revisited each subseq - + - - + + - + + - + - + - + - + - + + + - - - + + + - - - + + + - + - - - - -
diff --git a/lab2CA.runs/.jobs/vrs_config_42.xml b/lab2CA.runs/.jobs/vrs_config_42.xml new file mode 100644 index 0000000..b013dc9 --- /dev/null +++ b/lab2CA.runs/.jobs/vrs_config_42.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/lab2CA.runs/.jobs/vrs_config_43.xml b/lab2CA.runs/.jobs/vrs_config_43.xml new file mode 100644 index 0000000..99236b3 --- /dev/null +++ b/lab2CA.runs/.jobs/vrs_config_43.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/lab2CA.runs/.jobs/vrs_config_44.xml b/lab2CA.runs/.jobs/vrs_config_44.xml new file mode 100644 index 0000000..b013dc9 --- /dev/null +++ b/lab2CA.runs/.jobs/vrs_config_44.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/lab2CA.runs/impl_1/CPU9bits.vdi b/lab2CA.runs/impl_1/CPU9bits.vdi deleted file mode 100644 index 1e2f1ff..0000000 --- a/lab2CA.runs/impl_1/CPU9bits.vdi +++ /dev/null @@ -1,451 +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: Sun Mar 24 12:13:15 2019 -# Process ID: 17128 -# Current directory: C:/Users/JoseIgnacio/CA 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/JoseIgnacio/CA Lab/lab2CA.runs/impl_1/CPU9bits.vdi -# Journal file: C:/Users/JoseIgnacio/CA 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 = 583.086 ; 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:07 ; elapsed = 00:00:09 . Memory (MB): peak = 588.664 ; gain = 333.992 -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:02 ; elapsed = 00:00:01 . Memory (MB): peak = 602.465 ; gain = 13.801 - -Starting Cache Timing Information Task -INFO: [Timing 38-35] Done setting XDC timing constraints. -Ending Cache Timing Information Task | Checksum: f1482ef8 - -Time (s): cpu = 00:00:14 ; elapsed = 00:00:15 . Memory (MB): peak = 1139.773 ; gain = 537.309 - -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: f1482ef8 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.058 . Memory (MB): peak = 1235.660 ; 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: f1482ef8 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.062 . Memory (MB): peak = 1235.660 ; gain = 0.000 -INFO: [Opt 31-389] Phase Constant propagation created 0 cells and removed 0 cells - -Phase 3 Sweep -Phase 3 Sweep | Checksum: f1482ef8 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.070 . Memory (MB): peak = 1235.660 ; 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: f1482ef8 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.075 . Memory (MB): peak = 1235.660 ; 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: f1482ef8 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.135 . Memory (MB): peak = 1235.660 ; 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: f1482ef8 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.137 . Memory (MB): peak = 1235.660 ; 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.001 . Memory (MB): peak = 1235.660 ; gain = 0.000 -Ending Logic Optimization Task | Checksum: f1482ef8 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.141 . Memory (MB): peak = 1235.660 ; 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: f1482ef8 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.021 . Memory (MB): peak = 1235.660 ; gain = 0.000 - -Starting Final Cleanup Task -Ending Final Cleanup Task | Checksum: f1482ef8 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1235.660 ; gain = 0.000 - -Starting Netlist Obfuscation Task -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1235.660 ; gain = 0.000 -Ending Netlist Obfuscation Task | Checksum: f1482ef8 - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1235.660 ; 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:17 ; elapsed = 00:00:18 . Memory (MB): peak = 1235.660 ; gain = 646.996 -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.001 . Memory (MB): peak = 1235.660 ; 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/JoseIgnacio/CA 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/JoseIgnacio/CA Lab/lab2CA.runs/impl_1/CPU9bits_drc_opted.rpt. -report_drc completed successfully -report_drc: Time (s): cpu = 00:00:05 ; elapsed = 00:00:05 . Memory (MB): peak = 1235.660 ; gain = 0.000 -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 = 1235.660 ; gain = 0.000 -Phase 1.1 Placer Initialization Netlist Sorting | Checksum: 1567336e - -Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.018 . Memory (MB): peak = 1235.660 ; gain = 0.000 -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1235.660 ; 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: 17a941b7f - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 1249.621 ; gain = 13.961 - -Phase 1.3 Build Placer Netlist Model -Phase 1.3 Build Placer Netlist Model | Checksum: 26f8e950d - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 1249.621 ; gain = 13.961 - -Phase 1.4 Constrain Clocks/Macros -Phase 1.4 Constrain Clocks/Macros | Checksum: 26f8e950d - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 1249.621 ; gain = 13.961 -Phase 1 Placer Initialization | Checksum: 26f8e950d - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 1249.621 ; gain = 13.961 - -Phase 2 Global Placement - -Phase 2.1 Floorplanning -Phase 2.1 Floorplanning | Checksum: 26f8e950d - -Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 1251.242 ; gain = 15.582 -WARNING: [Place 46-29] place_design is not in timing mode. Skip physical synthesis in placer -Phase 2 Global Placement | Checksum: 23c412f55 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 1259.777 ; gain = 24.117 - -Phase 3 Detail Placement - -Phase 3.1 Commit Multi Column Macros -Phase 3.1 Commit Multi Column Macros | Checksum: 23c412f55 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 1259.777 ; gain = 24.117 - -Phase 3.2 Commit Most Macros & LUTRAMs -Phase 3.2 Commit Most Macros & LUTRAMs | Checksum: 1d49e6787 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 1259.777 ; gain = 24.117 - -Phase 3.3 Area Swap Optimization -Phase 3.3 Area Swap Optimization | Checksum: 1f2902173 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 1259.777 ; gain = 24.117 - -Phase 3.4 Pipeline Register Optimization -Phase 3.4 Pipeline Register Optimization | Checksum: 1f2902173 - -Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 1259.777 ; gain = 24.117 - -Phase 3.5 Small Shape Detail Placement -Phase 3.5 Small Shape Detail Placement | Checksum: 1ebf1de43 - -Time (s): cpu = 00:00:04 ; elapsed = 00:00:03 . Memory (MB): peak = 1265.160 ; gain = 29.500 - -Phase 3.6 Re-assign LUT pins -Phase 3.6 Re-assign LUT pins | Checksum: 1ebf1de43 - -Time (s): cpu = 00:00:04 ; elapsed = 00:00:03 . Memory (MB): peak = 1265.160 ; gain = 29.500 - -Phase 3.7 Pipeline Register Optimization -Phase 3.7 Pipeline Register Optimization | Checksum: 1ebf1de43 - -Time (s): cpu = 00:00:04 ; elapsed = 00:00:03 . Memory (MB): peak = 1265.160 ; gain = 29.500 -Phase 3 Detail Placement | Checksum: 1ebf1de43 - -Time (s): cpu = 00:00:04 ; elapsed = 00:00:03 . Memory (MB): peak = 1265.160 ; gain = 29.500 - -Phase 4 Post Placement Optimization and Clean-Up - -Phase 4.1 Post Commit Optimization -Phase 4.1 Post Commit Optimization | Checksum: 1ebf1de43 - -Time (s): cpu = 00:00:04 ; elapsed = 00:00:03 . Memory (MB): peak = 1265.160 ; gain = 29.500 - -Phase 4.2 Post Placement Cleanup -Phase 4.2 Post Placement Cleanup | Checksum: 1ebf1de43 - -Time (s): cpu = 00:00:04 ; elapsed = 00:00:03 . Memory (MB): peak = 1265.160 ; gain = 29.500 - -Phase 4.3 Placer Reporting -Phase 4.3 Placer Reporting | Checksum: 1ebf1de43 - -Time (s): cpu = 00:00:04 ; elapsed = 00:00:03 . Memory (MB): peak = 1265.160 ; gain = 29.500 - -Phase 4.4 Final Placement Cleanup -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1265.160 ; gain = 0.000 -Phase 4.4 Final Placement Cleanup | Checksum: 2030f505c - -Time (s): cpu = 00:00:04 ; elapsed = 00:00:03 . Memory (MB): peak = 1265.160 ; gain = 29.500 -Phase 4 Post Placement Optimization and Clean-Up | Checksum: 2030f505c - -Time (s): cpu = 00:00:04 ; elapsed = 00:00:03 . Memory (MB): peak = 1265.160 ; gain = 29.500 -Ending Placer Task | Checksum: 1e052a282 - -Time (s): cpu = 00:00:04 ; elapsed = 00:00:03 . Memory (MB): peak = 1265.160 ; gain = 29.500 -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 = 1265.160 ; 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.154 . Memory (MB): peak = 1265.160 ; gain = 0.000 -INFO: [Common 17-1381] The checkpoint 'C:/Users/JoseIgnacio/CA 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.081 . Memory (MB): peak = 1265.160 ; 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.005 . Memory (MB): peak = 1265.160 ; 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: fcede0ea ConstDB: 0 ShapeSum: e364c198 RouteDB: 0 - -Phase 1 Build RT Design -Phase 1 Build RT Design | Checksum: a20ae9a4 - -Time (s): cpu = 00:00:42 ; elapsed = 00:00:32 . Memory (MB): peak = 1476.469 ; gain = 211.309 -Post Restoration Checksum: NetGraph: 3b777e71 NumContArr: 66936b33 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: a20ae9a4 - -Time (s): cpu = 00:00:42 ; elapsed = 00:00:32 . Memory (MB): peak = 1480.309 ; gain = 215.148 - -Phase 2.2 Pre Route Cleanup -Phase 2.2 Pre Route Cleanup | Checksum: a20ae9a4 - -Time (s): cpu = 00:00:42 ; elapsed = 00:00:32 . Memory (MB): peak = 1480.309 ; gain = 215.148 - Number of Nodes with overlaps = 0 -Phase 2 Router Initialization | Checksum: 1a5c1a8b2 - -Time (s): cpu = 00:00:43 ; elapsed = 00:00:33 . Memory (MB): peak = 1504.426 ; gain = 239.266 - -Phase 3 Initial Routing -Phase 3 Initial Routing | Checksum: 17f11ca01 - -Time (s): cpu = 00:00:44 ; elapsed = 00:00:33 . Memory (MB): peak = 1504.426 ; gain = 239.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: c2af15c4 - -Time (s): cpu = 00:00:44 ; elapsed = 00:00:33 . Memory (MB): peak = 1504.426 ; gain = 239.266 -Phase 4 Rip-up And Reroute | Checksum: c2af15c4 - -Time (s): cpu = 00:00:44 ; elapsed = 00:00:33 . Memory (MB): peak = 1504.426 ; gain = 239.266 - -Phase 5 Delay and Skew Optimization -Phase 5 Delay and Skew Optimization | Checksum: c2af15c4 - -Time (s): cpu = 00:00:44 ; elapsed = 00:00:33 . Memory (MB): peak = 1504.426 ; gain = 239.266 - -Phase 6 Post Hold Fix - -Phase 6.1 Hold Fix Iter -Phase 6.1 Hold Fix Iter | Checksum: c2af15c4 - -Time (s): cpu = 00:00:44 ; elapsed = 00:00:33 . Memory (MB): peak = 1504.426 ; gain = 239.266 -Phase 6 Post Hold Fix | Checksum: c2af15c4 - -Time (s): cpu = 00:00:44 ; elapsed = 00:00:33 . Memory (MB): peak = 1504.426 ; gain = 239.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 = 1.47059%, 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: c2af15c4 - -Time (s): cpu = 00:00:44 ; elapsed = 00:00:33 . Memory (MB): peak = 1504.426 ; gain = 239.266 - -Phase 8 Verifying routed nets - - Verification completed successfully -Phase 8 Verifying routed nets | Checksum: c2af15c4 - -Time (s): cpu = 00:00:44 ; elapsed = 00:00:33 . Memory (MB): peak = 1504.426 ; gain = 239.266 - -Phase 9 Depositing Routes -Phase 9 Depositing Routes | Checksum: 13df7b04c - -Time (s): cpu = 00:00:44 ; elapsed = 00:00:33 . Memory (MB): peak = 1504.426 ; gain = 239.266 -INFO: [Route 35-16] Router Completed Successfully - -Time (s): cpu = 00:00:44 ; elapsed = 00:00:33 . Memory (MB): peak = 1504.426 ; gain = 239.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:47 ; elapsed = 00:00:35 . Memory (MB): peak = 1504.426 ; gain = 239.266 -Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1504.426 ; 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.054 . Memory (MB): peak = 1504.426 ; gain = 0.000 -INFO: [Common 17-1381] The checkpoint 'C:/Users/JoseIgnacio/CA 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/JoseIgnacio/CA 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/JoseIgnacio/CA 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 Sun Mar 24 12:14:37 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 b616a6c..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 : Sun Mar 24 12:14:37 2019 -| Host : DESKTOP-CSFKQTV 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 171b57a..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 : Sun Mar 24 12:14:37 2019 -| Host : DESKTOP-CSFKQTV 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 | 5 | 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 | 5 | 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 | | | | 5 | 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 | 5 | 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 | 5 | 0 | 5 | 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 8c090c2..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 : Sun Mar 24 12:13:57 2019 -| Host : DESKTOP-CSFKQTV 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 | 3 | -+----------------------------------------------------------+-------+ - - -2. Histogram ------------- - -+--------+--------------+ -| Fanout | Control Sets | -+--------+--------------+ -| 5 | 1 | -+--------+--------------+ - - -3. Flip-Flop Distribution -------------------------- - -+--------------+-----------------------+------------------------+-----------------+--------------+ -| Clock Enable | Synchronous Set/Reset | Asynchronous Set/Reset | Total Registers | Total Slices | -+--------------+-----------------------+------------------------+-----------------+--------------+ -| No | No | No | 0 | 0 | -| No | No | Yes | 0 | 0 | -| No | Yes | No | 5 | 2 | -| 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 | | reset_IBUF | 2 | 5 | -+----------------+---------------+------------------+------------------+----------------+ - - 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 c596939..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 : Sun Mar 24 12:13:57 2019 -| Host : DESKTOP-CSFKQTV 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 635221ff88846a7baf3ce263706606b44af3ba3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52 zcmd;LGcqtV(=(jJEajV8l98X1pOc?nso - Max violations: - Violations found: 5 -+-----------+----------+-----------------------------+------------+ -| Rule | Severity | Description | Violations | -+-----------+----------+-----------------------------+------------+ -| TIMING-17 | Warning | Non-clocked sequential cell | 5 | -+-----------+----------+-----------------------------+------------+ - -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: - -TIMING-17#4 Warning -Non-clocked sequential cell -The clock pin FetchU/PC/Dout_reg[3]/C is not reached by a timing clock -Related violations: - -TIMING-17#5 Warning -Non-clocked sequential cell -The clock pin FetchU/PC/Dout_reg[4]/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 ff78956ce01f29c6ffb12dead92657515c08784a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8734 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 x+CtXRMa@~bv^a$ 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 %HNVbj5YFG=@;W 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

lfXJ<$($F6-Q5gtx!juD3h2 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%0A0)c0zt!tdXP7 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 - - -1.1 On-Chip Components ----------------------- - -+----------------+-----------+----------+-----------+-----------------+ -| On-Chip | Power (W) | Used | Available | Utilization (%) | -+----------------+-----------+----------+-----------+-----------------+ -| Slice Logic | 0.063 | 13 | --- | --- | -| LUT as Logic | 0.053 | 3 | 101400 | <0.01 | -| BUFG | 0.005 | 1 | 32 | 3.13 | -| Register | 0.004 | 5 | 202800 | <0.01 | -| Others | 0.000 | 1 | --- | --- | -| Signals | 0.033 | 10 | --- | --- | -| I/O | 0.288 | 3 | 285 | 1.05 | -| Static Power | 0.087 | | | | -| Total | 0.471 | | | | -+----------------+-----------+----------+-----------+-----------------+ - - -1.2 Power Supply Summary ------------------------- - -+-----------+-------------+-----------+-------------+------------+ -| Source | Voltage (V) | Total (A) | Dynamic (A) | Static (A) | -+-----------+-------------+-----------+-------------+------------+ -| Vccint | 0.950 | 0.128 | 0.104 | 0.024 | -| Vccaux | 1.800 | 0.040 | 0.023 | 0.016 | -| Vcco33 | 3.300 | 0.000 | 0.000 | 0.000 | -| Vcco25 | 2.500 | 0.000 | 0.000 | 0.000 | -| Vcco18 | 1.800 | 0.136 | 0.135 | 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.384 | -| FetchU | 0.081 | -| PC | 0.081 | -+----------+-----------+ - - 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 c65af49f17da56cc2995552bc64213cc6a0f88bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 722 zcmZ|NL1@%K6b9fKDti!xq9;M@T-u9u)x~P7>}r-(6fLx%)Po8knca>iGixT!@_R(@F+KbRiIotQk{!r@f zN9cJuJb=`bYU7cQM{~vg2tva~GWzvKyBLij)HbriP}3a;!vdIUr7ZLQjok z3UYKBa;8-EXTYQcMrXmS0(Q@X;RP_&hL?5L#2d3J73v#jmhWDptKN;~u+5|WDcJ1ZEk2Wsl3I(C_qjMqr8 z|T#{H)TC5OUnwy(gRC$1h;eilCgCzF?c?JLqqzuCV 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 e0391c7..0000000 --- a/lab2CA.runs/impl_1/CPU9bits_route_status.rpt +++ /dev/null @@ -1,11 +0,0 @@ -Design Route Status - : # nets : - ------------------------------------------- : ----------- : - # of logical nets.......................... : 18 : - # of nets not needing routing.......... : 7 : - # of internally routed nets........ : 7 : - # of routable nets..................... : 11 : - # of fully routed nets............. : 11 : - # 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 bde13787aa8cba69ece470f825d070565f97abb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127302 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 Y`mC>(s;!}q&o!S=t#f9ka8KR;17JuT_5c6? diff --git a/lab2CA.runs/impl_1/CPU9bits.tcl b/lab2CA.runs/impl_1/CPU9bits_tb.tcl similarity index 66% rename from lab2CA.runs/impl_1/CPU9bits.tcl rename to lab2CA.runs/impl_1/CPU9bits_tb.tcl index 1429327..e128472 100644 --- a/lab2CA.runs/impl_1/CPU9bits.tcl +++ b/lab2CA.runs/impl_1/CPU9bits_tb.tcl @@ -67,15 +67,16 @@ start_step init_design set ACTIVE_STEP init_design set rc [catch { create_msg_db init_design.pb + set_param synth.incrementalSynthesisCache C:/Users/ecelab/AppData/Roaming/Xilinx/Vivado/.Xil/Vivado-784-DESKTOP-8QFGS52/incrSyn 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/JoseIgnacio/CA Lab/lab2CA.cache/wt} [current_project] - set_property parent.project_path {C:/Users/JoseIgnacio/CA Lab/lab2CA.xpr} [current_project] - set_property ip_output_repo {{C:/Users/JoseIgnacio/CA Lab/lab2CA.cache/ip}} [current_project] + 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/JoseIgnacio/CA Lab/lab2CA.runs/synth_1/CPU9bits.dcp}} - link_design -top CPU9bits -part xc7k160tifbg484-2L + add_files -quiet C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1/CPU9bits_tb.dcp + link_design -top CPU9bits_tb -part xc7k160tifbg484-2L close_msg_db -file init_design.pb } RESULT] if {$rc} { @@ -91,8 +92,8 @@ 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" + write_checkpoint -force CPU9bits_tb_opt.dcp + create_report "impl_1_opt_report_drc_0" "report_drc -file CPU9bits_tb_drc_opted.rpt -pb CPU9bits_tb_drc_opted.pb -rpx CPU9bits_tb_drc_opted.rpx" close_msg_db -file opt_design.pb } RESULT] if {$rc} { @@ -111,10 +112,10 @@ set rc [catch { 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" + write_checkpoint -force CPU9bits_tb_placed.dcp + create_report "impl_1_place_report_io_0" "report_io -file CPU9bits_tb_io_placed.rpt" + create_report "impl_1_place_report_utilization_0" "report_utilization -file CPU9bits_tb_utilization_placed.rpt -pb CPU9bits_tb_utilization_placed.pb" + create_report "impl_1_place_report_control_sets_0" "report_control_sets -verbose -file CPU9bits_tb_control_sets_placed.rpt" close_msg_db -file place_design.pb } RESULT] if {$rc} { @@ -130,19 +131,19 @@ 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" + write_checkpoint -force CPU9bits_tb_routed.dcp + create_report "impl_1_route_report_drc_0" "report_drc -file CPU9bits_tb_drc_routed.rpt -pb CPU9bits_tb_drc_routed.pb -rpx CPU9bits_tb_drc_routed.rpx" + create_report "impl_1_route_report_methodology_0" "report_methodology -file CPU9bits_tb_methodology_drc_routed.rpt -pb CPU9bits_tb_methodology_drc_routed.pb -rpx CPU9bits_tb_methodology_drc_routed.rpx" + create_report "impl_1_route_report_power_0" "report_power -file CPU9bits_tb_power_routed.rpt -pb CPU9bits_tb_power_summary_routed.pb -rpx CPU9bits_tb_power_routed.rpx" + create_report "impl_1_route_report_route_status_0" "report_route_status -file CPU9bits_tb_route_status.rpt -pb CPU9bits_tb_route_status.pb" + create_report "impl_1_route_report_timing_summary_0" "report_timing_summary -max_paths 10 -file CPU9bits_tb_timing_summary_routed.rpt -pb CPU9bits_tb_timing_summary_routed.pb -rpx CPU9bits_tb_timing_summary_routed.rpx -warn_on_violation " + create_report "impl_1_route_report_incremental_reuse_0" "report_incremental_reuse -file CPU9bits_tb_incremental_reuse_routed.rpt" + create_report "impl_1_route_report_clock_utilization_0" "report_clock_utilization -file CPU9bits_tb_clock_utilization_routed.rpt" + create_report "impl_1_route_report_bus_skew_0" "report_bus_skew -warn_on_violation -file CPU9bits_tb_bus_skew_routed.rpt -pb CPU9bits_tb_bus_skew_routed.pb -rpx CPU9bits_tb_bus_skew_routed.rpx" close_msg_db -file route_design.pb } RESULT] if {$rc} { - write_checkpoint -force CPU9bits_routed_error.dcp + write_checkpoint -force CPU9bits_tb_routed_error.dcp step_failed route_design return -code error $RESULT } else { diff --git a/lab2CA.runs/impl_1/CPU9bits_tb.vdi b/lab2CA.runs/impl_1/CPU9bits_tb.vdi new file mode 100644 index 0000000..b2588e7 --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits_tb.vdi @@ -0,0 +1,173 @@ +#----------------------------------------------------------- +# 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: Sun Mar 24 18:38:44 2019 +# Process ID: 13064 +# Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1 +# Command line: vivado.exe -log CPU9bits_tb.vdi -applog -product Vivado -messageDb vivado.pb -mode batch -source CPU9bits_tb.tcl -notrace +# Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_tb.vdi +# Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1\vivado.jou +#----------------------------------------------------------- +source CPU9bits_tb.tcl -notrace +Command: link_design -top CPU9bits_tb -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 = 579.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:05 ; elapsed = 00:00:16 . Memory (MB): peak = 579.477 ; gain = 327.758 +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.063 . Memory (MB): peak = 583.891 ; gain = 4.082 + +Starting Cache Timing Information Task +INFO: [Timing 38-35] Done setting XDC timing constraints. +Ending Cache Timing Information Task | Checksum: f67b9b0d + +Time (s): cpu = 00:00:10 ; elapsed = 00:00:09 . Memory (MB): peak = 1077.012 ; gain = 493.121 + +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: f67b9b0d + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.022 . Memory (MB): peak = 1167.297 ; 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: f67b9b0d + +Time (s): cpu = 00:00:01 ; elapsed = 00:00:00.022 . Memory (MB): peak = 1167.297 ; gain = 0.000 +INFO: [Opt 31-389] Phase Constant propagation created 0 cells and removed 0 cells + +Phase 3 Sweep +Phase 3 Sweep | Checksum: f67b9b0d + +Time (s): cpu = 00:00:01 ; elapsed = 00:00:00.023 . Memory (MB): peak = 1167.297 ; 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: f67b9b0d + +Time (s): cpu = 00:00:01 ; elapsed = 00:00:00.024 . Memory (MB): peak = 1167.297 ; 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: f67b9b0d + +Time (s): cpu = 00:00:01 ; elapsed = 00:00:00.059 . Memory (MB): peak = 1167.297 ; 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: f67b9b0d + +Time (s): cpu = 00:00:01 ; elapsed = 00:00:00.060 . Memory (MB): peak = 1167.297 ; 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 = 1167.297 ; gain = 0.000 +Ending Logic Optimization Task | Checksum: f67b9b0d + +Time (s): cpu = 00:00:01 ; elapsed = 00:00:00.062 . Memory (MB): peak = 1167.297 ; 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: f67b9b0d + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.009 . Memory (MB): peak = 1167.297 ; gain = 0.000 + +Starting Final Cleanup Task +Ending Final Cleanup Task | Checksum: f67b9b0d + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1167.297 ; gain = 0.000 + +Starting Netlist Obfuscation Task +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1167.297 ; gain = 0.000 +Ending Netlist Obfuscation Task | Checksum: f67b9b0d + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1167.297 ; 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:11 ; elapsed = 00:00:11 . Memory (MB): peak = 1167.297 ; gain = 587.559 +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1167.297 ; 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_tb_opt.dcp' has been generated. +INFO: [runtcl-4] Executing : report_drc -file CPU9bits_tb_drc_opted.rpt -pb CPU9bits_tb_drc_opted.pb -rpx CPU9bits_tb_drc_opted.rpx +Command: report_drc -file CPU9bits_tb_drc_opted.rpt -pb CPU9bits_tb_drc_opted.pb -rpx CPU9bits_tb_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_tb_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 = 1192.641 ; gain = 0.000 +Phase 1.1 Placer Initialization Netlist Sorting | Checksum: 00000000 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.005 . Memory (MB): peak = 1192.641 ; gain = 0.328 +Phase 1 Placer Initialization | Checksum: 00000000 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.006 . Memory (MB): peak = 1192.641 ; gain = 0.328 +ERROR: [Place 30-494] The design is empty +Resolution: Check if opt_design has removed all the leaf cells of your design. Check whether you have instantiated and connected all of the top level ports. +Ending Placer Task | Checksum: 00000000 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.006 . Memory (MB): peak = 1192.641 ; gain = 0.328 +INFO: [Common 17-83] Releasing license: Implementation +36 Infos, 1 Warnings, 0 Critical Warnings and 2 Errors encountered. +place_design failed +ERROR: [Common 17-69] Command failed: Placer could not place all instances +INFO: [Common 17-206] Exiting Vivado at Sun Mar 24 18:39:16 2019... diff --git a/lab2CA.runs/impl_1/CPU9bits_tb_drc_opted.pb b/lab2CA.runs/impl_1/CPU9bits_tb_drc_opted.pb new file mode 100644 index 0000000000000000000000000000000000000000..70698d16a043af0b5d745495ba43bfe143354a40 GIT binary patch literal 37 scmd;LGcqtV(KDRH% + Ruledeck: default + Max violations: + Violations found: 1 ++----------+----------+-----------------------------------------------------+------------+ +| Rule | Severity | Description | Violations | ++----------+----------+-----------------------------------------------------+------------+ +| CFGBVS-1 | Warning | Missing CFGBVS and CONFIG_VOLTAGE Design Properties | 1 | ++----------+----------+-----------------------------------------------------+------------+ + +2. REPORT DETAILS +----------------- +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_tb_opt.dcp b/lab2CA.runs/impl_1/CPU9bits_tb_opt.dcp new file mode 100644 index 0000000000000000000000000000000000000000..a888ad70601491891872dbbbf48bddb830ca3a16 GIT binary patch literal 3472 zcmZ{n2{hDQAIHZwmaz;W;(25%lWmM`2uaB@_9c6k89QSML&$Ej45E$5k|iNRXhaeQ z8A_JOSR#@wYLN9E@AI7VyyiUbJ?EbLKmYUpoO^%w_x&w@69gSSHvj-&0?gkDHImvF z<8h?{0Itvh0F0EkD5SqksILz$%g`@Y6P!5k)ye?=g7LQOy66+mtCGyI7uzP8n1*oO zr|c{Dw}$mUD`ehVdNrU{*PLZZScn9c6~kRJIc#EP$JTF|l6`B({$T2dY)@skwbL#X z^VO=IclpzTC~v@RJ*o9j)hS^Y)twBRTHIo2h$Ol{@&x9a+ zie>uq9@z;B;++SW$izDOiLJLKFzv3?mVBakz>P3#uIB9=ro1#UNrysF67ya;^1NH0ud` z3J>|`h%#8m1 z$}T>BSOdfesO`?n7%7(0WaJq#%@6(&KSqvdo3|f?b3EOGH(yH!1`=sQDj84bL!4Pb zF-~FxY0w5skfmL;SF{F=FMAiQ!s8X253rJp?1LZ`h5$&+#Lo;kN<*pG)b8Znurvm` z#dTd6aPQ`~mGqhpCMOpBx>KLfFaFAgN1x2W zMHqS_OhOdP3Y_9?z~}CH@^8tL`)A}XEX`L37(TWwe!Dx7Z! zu_=^(AYW3uv?@q?;CbWZi_Fo?SYg9hrb1&JFmj03-|t*;Ea1F7bS~_GVdWP^=u=?mMVg{FG#C(+bpDXgS?+fp^L5h$D^Jr*@ds{tfI*tzUUJe zyG7ZZq}QoCuWSy<_cs~aqIkcDr=KfW2DV(Ti&L`X*J}@gEh;r;S zr${B4GQm`m@kAp7K|OuMK14c3Pf9Np^G-H-s}CWgPc$S->h%S@>yed3NW+HYm0@NQ zM$)|oeLa=>QaybGb+!6Z`u*Kf2urAfCDa5;<8rzkh%*i48`RAJQEB$uK-QfoO7>8s z=$2ZufhcEJQ=->rO>i1cm~7#@=%On*o_XmR#7Gz`NaAzg8tXFZHm$5T_jE4dIbRpD z!xt8<=Kjo~Cm#Q+;jQxSKGD9mk87!x9C44Y`Eyb8o<@S)=gpyMUc)_w*v8R{-3oho z*IWW8U?1HyUV}<@OazmWr5QnEw=n*%HrbX=b^dTUH`%6(&+IS-bm^a$vi6fpk%st7GQ=!PU zQ6(MxK{O_$)rQ>7<{}CFXw*3PZ4fnPNLvI}y_=roQ@Lu$OVQkG_NQx#QEf1XZNP9=2L{mab#(mk>lYmCc89M&Mdhsd2t5+l zh%|%Ao z&5mQQ(epYy$wtO0<*jhyOXG$+uaOZs&(oUc#Z<&y(^i+>Hzc?f>I=Ji;Yh9GVYafM z9^Tmc@taC@nP>Cef2Xf%u_i&?cn=xUlb-uxXe7|1OgnsR> zHd3ciOaUTT4+YcuPIQvF$P6)kdi&~{crm7}FaA(csUYBbdD=!qtad}^2;Fw)`dX^B zF7V}cuzA{#A)yl-Q5KaR=r1a*>8v*95Kr`XB%#F$AbtXz3m%t9j zN~wB@O)fI20qy%`Q3WfEs`jey_0s9#<~ed~%g@YyLZjG3TWg=*Y&PwBxRQ=E1<@BV zst*HF+Ykf@QgNn;K+<=Y?hcq?R$x!MfEtnj?08&K+}Ep01HsQi~*ebXLE!wX2 zifXH7@Amc@@DXU)+q9Rn=SGvJfeCFfUzh?q6Wg)4(nyB${UIyb=So)nT@#bZR_(j8 z^6$-fC0!=hls><=XdK*|=3G~4;|oj50JYLKSghaDNj8%BaiRN4Ds84%sALOq%zD#)>-)vB)5e8%m6M~NHtlj-pd2i?q zDW-a?b@Z@$b{sR(^xdABPP^^r`C3S|De2S8N++g=quH7R^Z3U2L~H>Kqw2>&a&i4T zP$Zfh;nt%+ly{@QLQkRbiqbnI*=)2`M%{dYbk2PyZVfL`U$=E**Kg2gVY9c;frQC9 z5Et>0A>0iRte1(PwaR{tcdDn|D_qg^$2%u;iyo@aT5a5dl(G^=%!{Pt zoH9gga_;ir3}M4=y`-A-&4$1 zrqo=cu{WP^4d=Fe)RZIVZ4|s!zg!Lp}23MvhbLlds0SfJt>GDf&c&+fVRAk vq*s7;kjEus_uv3`Tem={oVha6M&9c(TnBSe(e6&CGjvp=f}5}&Ka(6Gq)sTzpgYXl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - @@ -118,7 +137,7 @@ diff --git a/lab2CA.runs/impl_1/htr.txt b/lab2CA.runs/impl_1/htr.txt index a32836e..eb33653 100644 --- a/lab2CA.runs/impl_1/htr.txt +++ b/lab2CA.runs/impl_1/htr.txt @@ -6,4 +6,4 @@ 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 +vivado -log CPU9bits_tb.vdi -applog -m64 -product Vivado -messageDb vivado.pb -mode batch -source CPU9bits_tb.tcl -notrace diff --git a/lab2CA.runs/impl_1/init_design.pb b/lab2CA.runs/impl_1/init_design.pb index e3bd36b274b696180490464c5e4d9f719017f823..8dac2cb73a68afbd7585d14ec754fc37c7a580ab 100644 GIT binary patch delta 157 zcmcb{bCbuBtBQ-qIX^cyF)zhRLA97mfJKVQ)L4tNEVC>zCBGy&$HwvGn=`ko{72n<^bjjCPvfAt661i49$$#Q&Q6s eOLI!BU<@N^E_PFhQtXn(M&^3vrWTVG*-QadjV%xW delta 157 zcmcb~bB)K2tDK9+IX^cyF)zhRLA97mfJKVQ)L4tNEVC>zCBGy&$HOyEv7Uj2+2&y83MNML$?I5Utu2k%Q&Q6sOLI!B jU<@N^E_PE33q3P46YP@4#>RSOXHxaay4i}DKq1w$%3rn%tc&rlP55XPd*?e&TL?2Jb8nhxR|Mhv7Uvcp@OwSdSYgt zf~|syo`HqYA?qnf`+AQq>3GXqTXw+ek>oBT#T zfgLFTCOb;$ql6RO|C6n`q>)u_R+HvNx6X^n0MlKQpUZTi7}+n2V&!IKIb%k+$%!1o zlMCeI@M>sK5MlyGilV#>lcC|{jY{Iky1Ase*i9|W^-O_5q$n#oxmRA0al&K+&6vsg z%6^mQE6Z`qa3R7CVx8V(Z54mU-IJ?Tf~CW_oSd!nLyJ?3iuF^IQ*#oN^j)1@jZMuB zbSGD9C~%b|#pf54=%pkVOm5^9o~*1YBC&*#i%GRufK`goM2oGcG_NE%$Ecl=t9Y`X zs+s~&eM(U>NKa~tUQt1bf^I>Qf^$HqWm0BIaePVAWPLRmCLpy^RhMz~cZ@+Cj&?-a& z47?s^kp##$ibVL}U`}g-#4DOgX2?>pS|jI)DD!Cn)?)O!^RGu#(vne0!xNeT+9e^y zQqq*D!Ym$RrLkGUYFrY&vIBgrbSX#x~*vcr1c z_hsQT%kG1n0?zk^C|&3=Y>&(w!`i{ShgW`hD&U!PeImPrI+1uC1Eb~wGSVpq+a|d_pA$jK3>@GakubTSVr!>7l1V{4Yf#q zApeL2D5S#=3w=2;M2Ttph&k*P51D+AIX#-9@tKSUx16WeCr+XbSP8%J5j-LY+1Exuf8 zSQBW7#z&bK2vhN<-^C*3tlMnYTBT*_A-)IK;|U;%5L~eKcKjULgm3XEcONgBMx$=F z@@2C`l9lSRL2@@2GIy)3CPWgPjd$)O0HI&-`;5+QB7AvJoN3D@Z$&c7yxC~^5j&8E h?Wqm)6oz8?;e!-eK#?#~|CfvRPDi`7JGwG`;vYXd3F`m= diff --git a/lab2CA.runs/impl_1/place_design.pb b/lab2CA.runs/impl_1/place_design.pb index a0b0651869f73847988efa30ca31a81f1ad58c85..8278661bc6a3ba546f53fb8609eacf7eaff4b1a8 100644 GIT binary patch delta 547 zcmbV}K}y3w6oyT0)ApefXw@1)-@;ZA6EaDNO{KUHK?FrqLS{hO^(1ZoKzpCbob=WkVZ-@%=L3mF6SbS$`dI>6fXAHM!4^10My9mnBE19Sz>J3g literal 11934 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 b6|55&83dTP__(-S^HLOoQj_zGQUn+Qj^ifQ diff --git a/lab2CA.runs/synth_1/CPU9bits.dcp b/lab2CA.runs/synth_1/CPU9bits.dcp deleted file mode 100644 index ab1833a86d9a37e0b94e71ec2e0e5dc18a76a341..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8441 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 H_uKyg`p0<& diff --git a/lab2CA.runs/synth_1/CPU9bits.vds b/lab2CA.runs/synth_1/CPU9bits.vds deleted file mode 100644 index 2265976..0000000 --- a/lab2CA.runs/synth_1/CPU9bits.vds +++ /dev/null @@ -1,520 +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: 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/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 -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 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:04 ; elapsed = 00:00:04 . Memory (MB): peak = 377.188 ; gain = 114.703 ---------------------------------------------------------------------------------- -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:05 ; elapsed = 00:00:05 . Memory (MB): peak = 414.457 ; gain = 151.973 ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -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:06 ; elapsed = 00:00:05 . Memory (MB): peak = 414.457 ; gain = 151.973 ---------------------------------------------------------------------------------- -INFO: [Device 21-403] Loading part xc7k160tifbg484-2L -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 -INFO: [Synth 8-5546] ROM "memory_reg[12]" won't be mapped to RAM because it is too sparse -INFO: [Synth 8-5546] ROM "memory_reg[11]" won't be mapped to RAM because it is too sparse -INFO: [Synth 8-5546] ROM "memory_reg[10]" won't be mapped to RAM because it is too sparse -INFO: [Synth 8-5546] ROM "memory_reg[9]" won't be mapped to RAM because it is too sparse -INFO: [Synth 8-5546] ROM "memory_reg[8]" won't be mapped to RAM because it is too sparse -INFO: [Synth 8-5546] ROM "memory_reg[7]" won't be mapped to RAM because it is too sparse -INFO: [Synth 8-5546] ROM "memory_reg[6]" won't be mapped to RAM because it is too sparse -INFO: [Synth 8-5546] ROM "memory_reg[5]" won't be mapped to RAM because it is too sparse -INFO: [Synth 8-5546] ROM "memory_reg[4]" won't be mapped to RAM because it is too sparse -INFO: [Synth 8-5546] ROM "memory_reg[3]" won't be mapped to RAM because it is too sparse -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/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:08 ; elapsed = 00:00:07 . Memory (MB): peak = 447.438 ; gain = 184.953 ---------------------------------------------------------------------------------- -INFO: [Synth 8-223] decloning instance 'SE1' (sign_extend_3bit) to 'SE3' - -Report RTL Partitions: -+-+--------------+------------+----------+ -| |RTL Partition |Replication |Instances | -+-+--------------+------------+----------+ -+-+--------------+------------+----------+ -No constraint files found. ---------------------------------------------------------------------------------- -Start RTL Component Statistics ---------------------------------------------------------------------------------- -Detailed RTL Component Info : -+---XORs : - 2 Input 1 Bit XORs := 144 -+---Registers : - 9 Bit Registers := 9 -+---Muxes : - 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 - 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 ---------------------------------------------------------------------------------- -Finished RTL Component Statistics ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -Start RTL Hierarchical Component Statistics ---------------------------------------------------------------------------------- -Hierarchical RTL Component report -Module dataMemory -Detailed RTL Component Info : -+---Muxes : - 2 Input 9 Bit Muxes := 16 - 16 Input 1 Bit Muxes := 16 - 2 Input 1 Bit Muxes := 16 - 3 Input 1 Bit Muxes := 16 -Module decoder -Detailed RTL Component Info : -+---Muxes : - 2 Input 4 Bit Muxes := 1 - 4 Input 4 Bit Muxes := 1 -Module register -Detailed RTL Component Info : -+---Registers : - 9 Bit Registers := 1 -Module mux_4_1 -Detailed RTL Component Info : -+---Muxes : - 4 Input 9 Bit Muxes := 1 -Module add_1bit -Detailed RTL Component Info : -+---XORs : - 2 Input 1 Bit XORs := 2 -Module mux_2_1 -Detailed RTL Component Info : -+---Muxes : - 2 Input 9 Bit Muxes := 1 -Module ControlUnit -Detailed RTL Component Info : -+---Muxes : - 16 Input 4 Bit Muxes := 1 - 2 Input 3 Bit Muxes := 2 - 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 : - 2 Input 1 Bit Muxes := 1 ---------------------------------------------------------------------------------- -Finished RTL Hierarchical Component Statistics ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -Start Part Resource Summary ---------------------------------------------------------------------------------- -Part Resources: -DSPs: 600 (col length:100) -BRAMs: 650 (col length: RAMB18 100 RAMB36 50) ---------------------------------------------------------------------------------- -Finished Part Resource Summary ---------------------------------------------------------------------------------- -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. -WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[5]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[4]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[3]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[2]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[1]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[0]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][8]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][7]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][6]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][5]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][4]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][3]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][2]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][1]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][0]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][8]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][7]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][6]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][5]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][4]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][3]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][2]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][1]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][0]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][8]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][7]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][6]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][5]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][4]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][3]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][2]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][1]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][0]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][8]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][7]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][6]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][5]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][4]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][3]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][2]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][1]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][0]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][8]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][7]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][6]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][5]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][4]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][3]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][2]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][1]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][0]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][8]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][7]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][6]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][5]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][4]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][3]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][2]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][1]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][0]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][8]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][7]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][6]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][5]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][4]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][3]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][2]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][1]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][0]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][8]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][7]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][6]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][5]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][4]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][3]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][2]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][1]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][0]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][8]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][7]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][6]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][5]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][4]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][3]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][2]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][1]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][0]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][8]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][7]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][6]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][5]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][4]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][3]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][2]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][1]) is unused and will be removed from module CPU9bits. -WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][0]) is unused and will be removed from module CPU9bits. -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 Technology Mapping : Time (s): cpu = 00:00:18 ; elapsed = 00:00:18 . Memory (MB): peak = 666.957 ; gain = 404.473 ---------------------------------------------------------------------------------- - -Report RTL Partitions: -+-+--------------+------------+----------+ -| |RTL Partition |Replication |Instances | -+-+--------------+------------+----------+ -+-+--------------+------------+----------+ ---------------------------------------------------------------------------------- -Start IO Insertion ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -Start Flattening Before IO Insertion ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -Finished Flattening Before IO Insertion ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -Start Final Netlist Cleanup ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -Finished Final Netlist Cleanup ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -Finished IO Insertion : Time (s): cpu = 00:00:19 ; elapsed = 00:00:20 . Memory (MB): peak = 666.957 ; gain = 404.473 ---------------------------------------------------------------------------------- - -Report Check Netlist: -+------+------------------+-------+---------+-------+------------------+ -| |Item |Errors |Warnings |Status |Description | -+------+------------------+-------+---------+-------+------------------+ -|1 |multi_driven_nets | 0| 0|Passed |Multi driven nets | -+------+------------------+-------+---------+-------+------------------+ ---------------------------------------------------------------------------------- -Start Renaming Generated Instances ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -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: -+-+--------------+------------+----------+ -| |RTL Partition |Replication |Instances | -+-+--------------+------------+----------+ -+-+--------------+------------+----------+ ---------------------------------------------------------------------------------- -Start Rebuilding User Hierarchy ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -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: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: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:19 ; elapsed = 00:00:20 . Memory (MB): peak = 666.957 ; gain = 404.473 ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -Start Writing Synthesis Report ---------------------------------------------------------------------------------- - -Report BlackBoxes: -+-+--------------+----------+ -| |BlackBox name |Instances | -+-+--------------+----------+ -+-+--------------+----------+ - -Report Cell Usage: -+------+-----+------+ -| |Cell |Count | -+------+-----+------+ -|1 |BUFG | 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 | | 15| -|2 | FetchU |FetchUnit | 11| -|3 | PC |register | 11| -+------+---------+----------+------+ ---------------------------------------------------------------------------------- -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 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 = 688.945 ; gain = 0.000 -INFO: [Project 1-111] Unisim Transformation Summary: -No Unisim elements were transformed. - -INFO: [Common 17-83] Releasing license: Synthesis -104 Infos, 128 Warnings, 0 Critical Warnings and 0 Errors encountered. -synth_design completed successfully -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/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 Sun Mar 24 12:09:01 2019... diff --git a/lab2CA.runs/synth_1/CPU9bits_tb.dcp b/lab2CA.runs/synth_1/CPU9bits_tb.dcp new file mode 100644 index 0000000000000000000000000000000000000000..21db77ff83f319e010eaebcfbbfafa65f34fbc45 GIT binary patch literal 3103 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 literal 0 HcmV?d00001 diff --git a/lab2CA.runs/synth_1/CPU9bits.tcl b/lab2CA.runs/synth_1/CPU9bits_tb.tcl similarity index 61% rename from lab2CA.runs/synth_1/CPU9bits.tcl rename to lab2CA.runs/synth_1/CPU9bits_tb.tcl index cf8d3c4..e432b1e 100644 --- a/lab2CA.runs/synth_1/CPU9bits.tcl +++ b/lab2CA.runs/synth_1/CPU9bits_tb.tcl @@ -17,6 +17,7 @@ proc create_report { reportName command } { send_msg_id runtcl-5 warning "$msg" } } +set_param synth.incrementalSynthesisCache C:/Users/ecelab/AppData/Roaming/Xilinx/Vivado/.Xil/Vivado-784-DESKTOP-8QFGS52/incrSyn 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 @@ -24,21 +25,21 @@ 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/JoseIgnacio/CA Lab/lab2CA.cache/wt} [current_project] -set_property parent.project_path {C:/Users/JoseIgnacio/CA Lab/lab2CA.xpr} [current_project] +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 default_lib xil_defaultlib [current_project] set_property target_language Verilog [current_project] -set_property ip_output_repo {c:/Users/JoseIgnacio/CA Lab/lab2CA.cache/ip} [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] read_verilog -library xil_defaultlib { - {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} + 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 } # 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 @@ -51,12 +52,12 @@ foreach dcp [get_files -quiet -all -filter file_type=="Design\ Checkpoint"] { set_param ips.enableIPCacheLiteLoad 1 close [open __synthesis_is_running__ w] -synth_design -top CPU9bits -part xc7k160tifbg484-2L +synth_design -top CPU9bits_tb -part xc7k160tifbg484-2L # disable binary constraint mode for synth run checkpoints set_param constraints.enableBinaryConstraints false -write_checkpoint -force -noxdef CPU9bits.dcp -create_report "synth_1_synth_report_utilization_0" "report_utilization -file CPU9bits_utilization_synth.rpt -pb CPU9bits_utilization_synth.pb" +write_checkpoint -force -noxdef CPU9bits_tb.dcp +create_report "synth_1_synth_report_utilization_0" "report_utilization -file CPU9bits_tb_utilization_synth.rpt -pb CPU9bits_tb_utilization_synth.pb" file delete __synthesis_is_running__ close [open __synthesis_is_complete__ w] diff --git a/lab2CA.runs/synth_1/CPU9bits_tb.vds b/lab2CA.runs/synth_1/CPU9bits_tb.vds new file mode 100644 index 0000000..db1748c --- /dev/null +++ b/lab2CA.runs/synth_1/CPU9bits_tb.vds @@ -0,0 +1,951 @@ +#----------------------------------------------------------- +# 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: Sun Mar 24 18:28:31 2019 +# Process ID: 5228 +# Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1 +# Command line: vivado.exe -log CPU9bits_tb.vds -product Vivado -mode batch -messageDb vivado.pb -notrace -source CPU9bits_tb.tcl +# Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1/CPU9bits_tb.vds +# Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1\vivado.jou +#----------------------------------------------------------- +source CPU9bits_tb.tcl -notrace +Command: synth_design -top CPU9bits_tb -part xc7k160tifbg484-2L +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 14244 +WARNING: [Synth 8-1958] event expressions must result in a singular type [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:85] +--------------------------------------------------------------------------------- +Starting Synthesize : Time (s): cpu = 00:00:02 ; elapsed = 00:00:03 . Memory (MB): peak = 372.199 ; gain = 114.445 +--------------------------------------------------------------------------------- +INFO: [Synth 8-6157] synthesizing module 'CPU9bits_tb' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:172] +WARNING: [Synth 8-85] always block has no event control specified [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:179] +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 'writeEnable' should be on the sensitivity list [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:85] +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:85] +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-226] default block is never used [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ControlUnit.v:17] +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_3bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:996] +INFO: [Synth 8-6155] done synthesizing module 'sign_extend_3bit' (25#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:996] +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' (26#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:350] +INFO: [Synth 8-6155] done synthesizing module 'CPU9bits' (27#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:3] +INFO: [Synth 8-6155] done synthesizing module 'CPU9bits_tb' (28#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:172] +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] +--------------------------------------------------------------------------------- +Finished Synthesize : Time (s): cpu = 00:01:51 ; elapsed = 00:01:54 . Memory (MB): peak = 2338.125 ; gain = 2080.371 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Constraint Validation : Time (s): cpu = 00:02:04 ; elapsed = 00:02:09 . Memory (MB): peak = 2338.125 ; gain = 2080.371 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Loading Part and Timing Information +--------------------------------------------------------------------------------- +Loading part: xc7k160tifbg484-2L +--------------------------------------------------------------------------------- +Finished Loading Part and Timing Information : Time (s): cpu = 00:02:04 ; elapsed = 00:02:09 . Memory (MB): peak = 2338.125 ; gain = 2080.371 +--------------------------------------------------------------------------------- +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[511]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[510]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[509]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[508]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[507]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[506]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[505]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[504]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[503]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[502]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[501]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[500]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[499]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[498]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[497]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[496]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[495]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[494]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[493]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[492]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[491]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[490]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[489]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[488]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[487]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[486]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[485]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[484]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[483]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[482]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[481]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[480]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[479]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[478]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[477]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[476]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[475]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[474]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[473]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[472]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[471]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[470]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[469]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[468]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[467]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[466]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[465]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[464]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[463]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[462]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[461]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[460]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[459]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[458]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[457]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[456]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[455]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[454]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[453]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[452]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[451]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[450]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[449]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[448]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[447]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[446]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[445]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[444]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[443]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[442]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[441]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[440]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[439]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[438]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[437]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[436]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[435]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[434]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[433]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[432]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[431]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[430]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[429]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[428]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[427]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[426]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[425]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[424]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[423]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[422]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[421]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[420]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[419]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[418]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[417]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[416]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[415]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[414]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[413]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[412]" won't be mapped to RAM because it is too sparse +INFO: [Common 17-14] Message 'Synth 8-5546' appears 100 times and further instances of the messages will be disabled. Use the Tcl command set_msg_config to change the current settings. +WARNING: [Synth 8-327] inferring latch for variable 'readData_reg' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/instructionMemory.v:202] +WARNING: [Synth 8-327] inferring latch for variable 'readData_reg' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[511]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[510]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[509]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[508]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[507]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[506]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[505]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[504]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[503]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[502]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[501]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[500]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[499]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[498]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[497]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[496]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[495]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[494]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[493]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[492]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[491]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[490]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[489]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[488]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[487]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[486]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[485]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[484]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[483]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[482]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[481]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[480]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[479]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[478]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[477]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[476]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[475]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[474]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[473]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[472]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[471]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[470]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[469]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[468]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[467]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[466]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[465]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[464]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[463]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[462]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[461]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[460]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[459]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[458]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[457]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[456]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[455]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[454]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[453]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[452]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[451]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[450]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[449]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[448]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[447]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[446]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[445]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[444]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[443]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[442]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[441]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[440]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[439]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[438]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[437]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[436]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[435]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[434]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[433]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[432]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[431]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[430]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[429]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[428]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[427]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[426]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[425]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[424]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[423]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[422]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[421]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[420]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[419]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[418]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[417]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[416]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[415]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[414]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:87] +INFO: [Common 17-14] Message 'Synth 8-327' 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 RTL Optimization Phase 2 : Time (s): cpu = 00:04:25 ; elapsed = 00:04:33 . Memory (MB): peak = 2906.012 ; gain = 2648.258 +--------------------------------------------------------------------------------- +INFO: [Synth 8-223] decloning instance 'CPU9bits0/SE1' (sign_extend_3bit) to 'CPU9bits0/SE3' + +Report RTL Partitions: ++------+----------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++------+----------------+------------+----------+ +|1 |dataMemory__GB0 | 1| 2378380| +|2 |CPU9bits__GC0 | 1| 1169| ++------+----------------+------------+----------+ +No constraint files found. +--------------------------------------------------------------------------------- +Start RTL Component Statistics +--------------------------------------------------------------------------------- +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 162 ++---Registers : + 9 Bit Registers := 9 ++---Muxes : + 2 Input 9 Bit Muxes := 520 + 8 Input 9 Bit Muxes := 1 + 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 + 16 Input 3 Bit Muxes := 1 + 16 Input 2 Bit Muxes := 1 + 2 Input 1 Bit Muxes := 513 + 16 Input 1 Bit Muxes := 8 +--------------------------------------------------------------------------------- +Finished RTL Component Statistics +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start RTL Hierarchical Component Statistics +--------------------------------------------------------------------------------- +Hierarchical RTL Component report +Module dataMemory +Detailed RTL Component Info : ++---Muxes : + 2 Input 9 Bit Muxes := 512 + 2 Input 1 Bit Muxes := 512 +Module instructionMemory +Detailed RTL Component Info : ++---Muxes : + 8 Input 9 Bit Muxes := 1 +Module decoder__1 +Detailed RTL Component Info : ++---Muxes : + 2 Input 4 Bit Muxes := 1 + 4 Input 4 Bit Muxes := 1 +Module register__8 +Detailed RTL Component Info : ++---Registers : + 9 Bit Registers := 1 +Module register__7 +Detailed RTL Component Info : ++---Registers : + 9 Bit Registers := 1 +Module register__6 +Detailed RTL Component Info : ++---Registers : + 9 Bit Registers := 1 +Module register__5 +Detailed RTL Component Info : ++---Registers : + 9 Bit Registers := 1 +Module mux_4_1__3 +Detailed RTL Component Info : ++---Muxes : + 4 Input 9 Bit Muxes := 1 +Module mux_4_1__2 +Detailed RTL Component Info : ++---Muxes : + 4 Input 9 Bit Muxes := 1 +Module decoder +Detailed RTL Component Info : ++---Muxes : + 2 Input 4 Bit Muxes := 1 + 4 Input 4 Bit Muxes := 1 +Module register__2 +Detailed RTL Component Info : ++---Registers : + 9 Bit Registers := 1 +Module register__3 +Detailed RTL Component Info : ++---Registers : + 9 Bit Registers := 1 +Module register__4 +Detailed RTL Component Info : ++---Registers : + 9 Bit Registers := 1 +Module register +Detailed RTL Component Info : ++---Registers : + 9 Bit Registers := 1 +Module mux_4_1__1 +Detailed RTL Component Info : ++---Muxes : + 4 Input 9 Bit Muxes := 1 +Module mux_4_1 +Detailed RTL Component Info : ++---Muxes : + 4 Input 9 Bit Muxes := 1 +Module register__1 +Detailed RTL Component Info : ++---Registers : + 9 Bit Registers := 1 +Module add_1bit__44 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__43 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__42 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__41 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__40 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__39 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__38 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__37 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__36 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module mux_2_1__1 +Detailed RTL Component Info : ++---Muxes : + 2 Input 9 Bit Muxes := 1 +Module add_1bit__35 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__34 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__33 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__32 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__31 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__30 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__29 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__28 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__27 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__62 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__61 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__60 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__59 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__58 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__57 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__56 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__55 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__54 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__26 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__25 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__24 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__23 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__22 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__21 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__20 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__19 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__18 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__80 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__79 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__78 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__77 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__76 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__75 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__74 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__73 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__72 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__71 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__70 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__69 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__68 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__67 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__66 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__65 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__64 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__63 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module ControlUnit +Detailed RTL Component Info : ++---Muxes : + 16 Input 4 Bit Muxes := 1 + 2 Input 3 Bit Muxes := 2 + 16 Input 3 Bit Muxes := 1 + 16 Input 2 Bit Muxes := 1 + 16 Input 1 Bit Muxes := 8 +Module add_1bit__53 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__52 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__51 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__50 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__49 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__48 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__47 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__46 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__45 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module mux_2_1__2 +Detailed RTL Component Info : ++---Muxes : + 2 Input 9 Bit Muxes := 1 +Module add_1bit__17 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__16 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__15 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__14 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__13 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__12 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__11 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__10 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__9 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module mux_2_1__3 +Detailed RTL Component Info : ++---Muxes : + 2 Input 9 Bit Muxes := 1 +Module mux_2_1__4 +Detailed RTL Component Info : ++---Muxes : + 2 Input 9 Bit Muxes := 1 +Module bit1_mux_2_1 +Detailed RTL Component Info : ++---Muxes : + 2 Input 1 Bit Muxes := 1 +Module add_1bit__1 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__2 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__3 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__4 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__5 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__6 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__7 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit__8 +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module add_1bit +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module mux_2_1__5 +Detailed RTL Component Info : ++---Muxes : + 2 Input 9 Bit Muxes := 1 +Module mux_2_1__6 +Detailed RTL Component Info : ++---Muxes : + 2 Input 9 Bit Muxes := 1 +Module mux_2_1__7 +Detailed RTL Component Info : ++---Muxes : + 2 Input 9 Bit Muxes := 1 +Module mux_2_1 +Detailed RTL Component Info : ++---Muxes : + 2 Input 9 Bit Muxes := 1 +--------------------------------------------------------------------------------- +Finished RTL Hierarchical Component Statistics +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Part Resource Summary +--------------------------------------------------------------------------------- +Part Resources: +DSPs: 600 (col length:100) +BRAMs: 650 (col length: RAMB18 100 RAMB36 50) +--------------------------------------------------------------------------------- +Finished Part Resource Summary +--------------------------------------------------------------------------------- +No constraint files found. +--------------------------------------------------------------------------------- +Start Cross Boundary and Area Optimization +--------------------------------------------------------------------------------- +Warning: Parallel synthesis criteria is not met +INFO: [Synth 8-3886] merging instance 'CPU9bits0i_1/iM/readData_reg[0]' (LD) to 'CPU9bits0i_1/iM/readData_reg[2]' +INFO: [Synth 8-3886] merging instance 'CPU9bits0i_1/iM/readData_reg[8]' (LD) to 'CPU9bits0i_1/iM/readData_reg[6]' +INFO: [Synth 8-3886] merging instance 'CPU9bits0i_1/iM/readData_reg[2]' (LD) to 'CPU9bits0i_1/iM/readData_reg[4]' +INFO: [Synth 8-3333] propagating constant 0 across sequential element (\iM/readData_reg[4] ) +--------------------------------------------------------------------------------- +Finished Cross Boundary and Area Optimization : Time (s): cpu = 00:09:23 ; elapsed = 00:09:37 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +--------------------------------------------------------------------------------- + +Report RTL Partitions: ++-+--------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++-+--------------+------------+----------+ ++-+--------------+------------+----------+ +No constraint files found. +--------------------------------------------------------------------------------- +Start Timing Optimization +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Timing Optimization : Time (s): cpu = 00:09:23 ; elapsed = 00:09:37 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +--------------------------------------------------------------------------------- + +Report RTL Partitions: ++-+--------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++-+--------------+------------+----------+ ++-+--------------+------------+----------+ +--------------------------------------------------------------------------------- +Start Technology Mapping +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Technology Mapping : Time (s): cpu = 00:09:23 ; elapsed = 00:09:37 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +--------------------------------------------------------------------------------- + +Report RTL Partitions: ++-+--------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++-+--------------+------------+----------+ ++-+--------------+------------+----------+ +--------------------------------------------------------------------------------- +Start IO Insertion +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Flattening Before IO Insertion +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Flattening Before IO Insertion +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Final Netlist Cleanup +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Final Netlist Cleanup +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished IO Insertion : Time (s): cpu = 00:09:24 ; elapsed = 00:09:38 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +--------------------------------------------------------------------------------- + +Report Check Netlist: ++------+------------------+-------+---------+-------+------------------+ +| |Item |Errors |Warnings |Status |Description | ++------+------------------+-------+---------+-------+------------------+ +|1 |multi_driven_nets | 0| 0|Passed |Multi driven nets | ++------+------------------+-------+---------+-------+------------------+ +--------------------------------------------------------------------------------- +Start Renaming Generated Instances +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Instances : Time (s): cpu = 00:09:24 ; elapsed = 00:09:38 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +--------------------------------------------------------------------------------- + +Report RTL Partitions: ++-+--------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++-+--------------+------------+----------+ ++-+--------------+------------+----------+ +--------------------------------------------------------------------------------- +Start Rebuilding User Hierarchy +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Rebuilding User Hierarchy : Time (s): cpu = 00:09:24 ; elapsed = 00:09:38 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Renaming Generated Ports +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Ports : Time (s): cpu = 00:09:24 ; elapsed = 00:09:38 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Handling Custom Attributes +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Handling Custom Attributes : Time (s): cpu = 00:09:24 ; elapsed = 00:09:38 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Renaming Generated Nets +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Nets : Time (s): cpu = 00:09:24 ; elapsed = 00:09:38 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Writing Synthesis Report +--------------------------------------------------------------------------------- + +Report BlackBoxes: ++-+--------------+----------+ +| |BlackBox name |Instances | ++-+--------------+----------+ ++-+--------------+----------+ + +Report Cell Usage: ++-+-----+------+ +| |Cell |Count | ++-+-----+------+ ++-+-----+------+ + +Report Instance Areas: ++------+---------+-------+------+ +| |Instance |Module |Cells | ++------+---------+-------+------+ +|1 |top | | 0| ++------+---------+-------+------+ +--------------------------------------------------------------------------------- +Finished Writing Synthesis Report : Time (s): cpu = 00:09:24 ; elapsed = 00:09:38 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +--------------------------------------------------------------------------------- +Synthesis finished with 0 errors, 0 critical warnings and 526 warnings. +Synthesis Optimization Runtime : Time (s): cpu = 00:09:24 ; elapsed = 00:09:38 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +Synthesis Optimization Complete : Time (s): cpu = 00:09:24 ; elapsed = 00:09:38 . Memory (MB): peak = 3340.348 ; gain = 3082.594 +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 = 3340.348 ; gain = 0.000 +INFO: [Project 1-111] Unisim Transformation Summary: +No Unisim elements were transformed. + +INFO: [Common 17-83] Releasing license: Synthesis +177 Infos, 111 Warnings, 0 Critical Warnings and 0 Errors encountered. +synth_design completed successfully +synth_design: Time (s): cpu = 00:09:36 ; elapsed = 00:10:01 . Memory (MB): peak = 3340.348 ; gain = 3090.086 +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.001 . Memory (MB): peak = 3340.348 ; 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_tb.dcp' has been generated. +INFO: [runtcl-4] Executing : report_utilization -file CPU9bits_tb_utilization_synth.rpt -pb CPU9bits_tb_utilization_synth.pb +INFO: [Common 17-206] Exiting Vivado at Sun Mar 24 18:38:37 2019... diff --git a/lab2CA.runs/synth_1/CPU9bits_tb_utilization_synth.pb b/lab2CA.runs/synth_1/CPU9bits_tb_utilization_synth.pb new file mode 100644 index 0000000000000000000000000000000000000000..68f663d6bda6846e0208636804717499e21166c4 GIT binary patch literal 289 zcmd;LGcqu=&@-OItPxzAo10ivsgR$hP+F3ilUbEml9`_e;%28-Dioy_=a&{Grxxp- zdG}b4ZZS zSv!!xTzeql_!LAkymbMQdtHHqW2+m8-Rlh^?*hpNhowFs_9q`H_mBuzqj+b3UtfPe a9Vo}c(a+D-XKf%z$zLGZV1G0S#0CI9szfpX literal 0 HcmV?d00001 diff --git a/lab2CA.runs/synth_1/CPU9bits_utilization_synth.rpt b/lab2CA.runs/synth_1/CPU9bits_tb_utilization_synth.rpt similarity index 68% rename from lab2CA.runs/synth_1/CPU9bits_utilization_synth.rpt rename to lab2CA.runs/synth_1/CPU9bits_tb_utilization_synth.rpt index 0161a66..f2011a8 100644 --- a/lab2CA.runs/synth_1/CPU9bits_utilization_synth.rpt +++ b/lab2CA.runs/synth_1/CPU9bits_tb_utilization_synth.rpt @@ -1,13 +1,13 @@ 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 : 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 +| Date : Sun Mar 24 18:38:37 2019 +| Host : DESKTOP-8QFGS52 running 64-bit major release (build 9200) +| Command : report_utilization -file CPU9bits_tb_utilization_synth.rpt -pb CPU9bits_tb_utilization_synth.pb +| Design : CPU9bits_tb | Device : 7k160tifbg484-2L -| Design State : Synthesized ------------------------------------------------------------------------------------------------------------ +| Design State : Fully Placed +----------------------------------------------------------------------------------------------------------------- Utilization Design Information @@ -15,14 +15,15 @@ Table of Contents ----------------- 1. Slice Logic 1.1 Summary of Registers by Type -2. Memory -3. DSP -4. IO and GT Specific -5. Clocking -6. Specific Feature -7. Primitives -8. Black Boxes -9. Instantiated Netlists +2. Slice Logic Distribution +3. Memory +4. DSP +5. IO and GT Specific +6. Clocking +7. Specific Feature +8. Primitives +9. Black Boxes +10. Instantiated Netlists 1. Slice Logic -------------- @@ -30,16 +31,15 @@ Table of Contents +-------------------------+------+-------+-----------+-------+ | Site Type | Used | Fixed | Available | Util% | +-------------------------+------+-------+-----------+-------+ -| Slice LUTs* | 3 | 0 | 101400 | <0.01 | -| LUT as Logic | 3 | 0 | 101400 | <0.01 | +| Slice LUTs | 0 | 0 | 101400 | 0.00 | +| LUT as Logic | 0 | 0 | 101400 | 0.00 | | LUT as Memory | 0 | 0 | 35000 | 0.00 | -| Slice Registers | 5 | 0 | 202800 | <0.01 | -| Register as Flip Flop | 5 | 0 | 202800 | <0.01 | +| Slice Registers | 0 | 0 | 202800 | 0.00 | +| Register as Flip Flop | 0 | 0 | 202800 | 0.00 | | Register as Latch | 0 | 0 | 202800 | 0.00 | | F7 Muxes | 0 | 0 | 50700 | 0.00 | | F8 Muxes | 0 | 0 | 25350 | 0.00 | +-------------------------+------+-------+-----------+-------+ -* Warning! The Final LUT count, after physical optimizations and full implementation, is typically lower. Run opt_design after synthesis, if not already completed, for a more realistic count. 1.1 Summary of Registers by Type @@ -57,11 +57,32 @@ Table of Contents | 0 | Yes | - | Set | | 0 | Yes | - | Reset | | 0 | Yes | Set | - | -| 5 | Yes | Reset | - | +| 0 | Yes | Reset | - | +-------+--------------+-------------+--------------+ -2. Memory +2. Slice Logic Distribution +--------------------------- + ++------------------------------------------+------+-------+-----------+-------+ +| Site Type | Used | Fixed | Available | Util% | ++------------------------------------------+------+-------+-----------+-------+ +| Slice | 0 | 0 | 25350 | 0.00 | +| SLICEL | 0 | 0 | | | +| SLICEM | 0 | 0 | | | +| LUT as Logic | 0 | 0 | 101400 | 0.00 | +| LUT as Memory | 0 | 0 | 35000 | 0.00 | +| LUT as Distributed RAM | 0 | 0 | | | +| LUT as Shift Register | 0 | 0 | | | +| Slice Registers | 0 | 0 | 202800 | 0.00 | +| Register driven from within the Slice | 0 | | | | +| Register driven from outside the Slice | 0 | | | | +| Unique Control Sets | 0 | | 25350 | 0.00 | ++------------------------------------------+------+-------+-----------+-------+ +* Note: Available Control Sets calculated as Slice Registers / 8, Review the Control Sets Report for more information regarding control sets. + + +3. Memory --------- +----------------+------+-------+-----------+-------+ @@ -74,7 +95,7 @@ Table of Contents * Note: Each Block RAM Tile only has one FIFO logic available and therefore can accommodate only one FIFO36E1 or one FIFO18E1. However, if a FIFO18E1 occupies a Block RAM Tile, that tile can still accommodate a RAMB18E1 -3. DSP +4. DSP ------ +-----------+------+-------+-----------+-------+ @@ -84,13 +105,13 @@ Table of Contents +-----------+------+-------+-----------+-------+ -4. IO and GT Specific +5. IO and GT Specific --------------------- +-----------------------------+------+-------+-----------+-------+ | Site Type | Used | Fixed | Available | Util% | +-----------------------------+------+-------+-----------+-------+ -| Bonded IOB | 3 | 0 | 285 | 1.05 | +| Bonded IOB | 0 | 0 | 285 | 0.00 | | Bonded IPADs | 0 | 0 | 14 | 0.00 | | Bonded OPADs | 0 | 0 | 8 | 0.00 | | PHY_CONTROL | 0 | 0 | 8 | 0.00 | @@ -111,13 +132,13 @@ Table of Contents +-----------------------------+------+-------+-----------+-------+ -5. Clocking +6. Clocking ----------- +------------+------+-------+-----------+-------+ | Site Type | Used | Fixed | Available | Util% | +------------+------+-------+-----------+-------+ -| BUFGCTRL | 1 | 0 | 32 | 3.13 | +| BUFGCTRL | 0 | 0 | 32 | 0.00 | | BUFIO | 0 | 0 | 32 | 0.00 | | MMCME2_ADV | 0 | 0 | 8 | 0.00 | | PLLE2_ADV | 0 | 0 | 8 | 0.00 | @@ -127,7 +148,7 @@ Table of Contents +------------+------+-------+-----------+-------+ -6. Specific Feature +7. Specific Feature ------------------- +-------------+------+-------+-----------+-------+ @@ -145,25 +166,15 @@ Table of Contents +-------------+------+-------+-----------+-------+ -7. Primitives +8. Primitives ------------- +----------+------+---------------------+ | Ref Name | Used | Functional Category | +----------+------+---------------------+ -| 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 | -+----------+------+---------------------+ -8. Black Boxes +9. Black Boxes -------------- +----------+------+ @@ -171,8 +182,8 @@ Table of Contents +----------+------+ -9. Instantiated Netlists ------------------------- +10. Instantiated Netlists +------------------------- +----------+------+ | Ref Name | Used | diff --git a/lab2CA.runs/synth_1/CPU9bits_utilization_synth.pb b/lab2CA.runs/synth_1/CPU9bits_utilization_synth.pb deleted file mode 100644 index fad9443840651607eb8fa9b5ddf321c053de7fa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmd;LGcqu=&@-OItPxzAo10ivsgR$hP+F3ilUbEml9`_e;%28-Dioy_=a&{Grxxp- z6&CGjvp=f}5}&Ka(6Gq)sTzpgYXl - - - - - - - + + + + + + + + + + @@ -74,7 +77,7 @@ diff --git a/lab2CA.runs/synth_1/htr.txt b/lab2CA.runs/synth_1/htr.txt index 641d4cb..b59ff1f 100644 --- a/lab2CA.runs/synth_1/htr.txt +++ b/lab2CA.runs/synth_1/htr.txt @@ -6,4 +6,4 @@ REM to be invoked for Vivado to track run status. REM Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. REM -vivado -log CPU9bits.vds -m64 -product Vivado -mode batch -messageDb vivado.pb -notrace -source CPU9bits.tcl +vivado -log CPU9bits_tb.vds -m64 -product Vivado -mode batch -messageDb vivado.pb -notrace -source CPU9bits_tb.tcl diff --git a/lab2CA.runs/synth_1/vivado.jou b/lab2CA.runs/synth_1/vivado.jou index 85184e7..41f08c9 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: 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/JoseIgnacio/CA Lab/lab2CA.runs/synth_1/CPU9bits.vds -# Journal file: C:/Users/JoseIgnacio/CA Lab/lab2CA.runs/synth_1\vivado.jou +# Start of session at: Sun Mar 24 18:28:31 2019 +# Process ID: 5228 +# Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1 +# Command line: vivado.exe -log CPU9bits_tb.vds -product Vivado -mode batch -messageDb vivado.pb -notrace -source CPU9bits_tb.tcl +# Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1/CPU9bits_tb.vds +# Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1\vivado.jou #----------------------------------------------------------- -source CPU9bits.tcl -notrace +source CPU9bits_tb.tcl -notrace diff --git a/lab2CA.runs/synth_1/vivado.pb b/lab2CA.runs/synth_1/vivado.pb index 0b32f9204011586ee3d01872b8d8001ebefb943a..02439a4c566ae5d03db36500e4c294aeaf749ac5 100644 GIT binary patch literal 111958 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 literal 73425 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 AH~;_u 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 0ede6bd..1b9272f 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:/Users/ecelab/ECE3570-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 "Sun Mar 24 17:04:55 2019" -context "software_version_and_target_device" +webtalk_add_data -client project -key date_generated -value "Sun Mar 24 18:05:24 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" @@ -14,7 +14,7 @@ webtalk_add_data -client project -key target_package -value "not_applicable" -co 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 "4e917e26-7591-4435-9135-15bd446b0238" -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 "111" -context "software_version_and_target_device" +webtalk_add_data -client project -key project_iteration -value "129" -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) Xeon(R) CPU E5-1620 v3 @ 3.50GHz" -context "user_environment" @@ -22,11 +22,21 @@ webtalk_add_data -client project -key cpu_speed -value "3492 MHz" -context "user webtalk_add_data -client project -key total_processors -value "1" -context "user_environment" webtalk_add_data -client project -key system_ram -value "34.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 "870 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.05_sec" -context "xsim\\usage" -webtalk_add_data -client xsim -key Simulation_Memory -value "6432_KB" -context "xsim\\usage" -webtalk_transmit -clientid 2385566918 -regid "174150793_174150794_210688225_140" -xml C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/ecelab/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 File_Counter -value "9" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Command -value "xelab" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Vhdl2008 -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key GenDLL -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key SDFModeling -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key HWCosim -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key DPI_Used -value "false" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Debug -value "typical" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key Simulation_Image_Code -value "103 KB" -context "xsim\\usage" +webtalk_add_data -client xsim -key Simulation_Image_Data -value "18 KB" -context "xsim\\usage" +webtalk_add_data -client xsim -key Total_Nets -value "0" -context "xsim\\usage" +webtalk_add_data -client xsim -key Total_Processes -value "281" -context "xsim\\usage" +webtalk_add_data -client xsim -key Total_Instances -value "144" -context "xsim\\usage" +webtalk_add_data -client xsim -key Xilinx_HDL_Libraries_Used -value "secureip unimacro_ver unisims_ver " -context "xsim\\usage" +webtalk_add_data -client xsim -key Compiler_Time -value "0.86_sec" -context "xsim\\usage" +webtalk_add_data -client xsim -key Compiler_Memory -value "46004_KB" -context "xsim\\usage" +webtalk_transmit -clientid 2630243844 -regid "174150793_174150794_210688225_140" -xml C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/ecelab/ECE3570-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 b25dad4ac93be83c323242715dc111caa163f480..107f85e51951c31d5944b5108e1e90844d7a2934 100644 GIT binary patch literal 19403 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 BxuXC8 literal 19561 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 - +
- + - + @@ -34,9 +34,9 @@
- - - + + +
diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/xsim_webtalk.tcl b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/xsim_webtalk.tcl index 5b4c6e5..1155c64 100644 --- a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/xsim_webtalk.tcl +++ b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/xsim_webtalk.tcl @@ -1,6 +1,6 @@ webtalk_init -webtalk_dir C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/ webtalk_register_client -client project -webtalk_add_data -client project -key date_generated -value "Sat Mar 16 14:16:46 2019" -context "software_version_and_target_device" +webtalk_add_data -client project -key date_generated -value "Sun Mar 24 17:39:03 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" @@ -14,7 +14,7 @@ webtalk_add_data -client project -key target_package -value "not_applicable" -co 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 "4e917e26-7591-4435-9135-15bd446b0238" -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 "19" -context "software_version_and_target_device" +webtalk_add_data -client project -key project_iteration -value "22" -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) Xeon(R) CPU E5-1620 v3 @ 3.50GHz" -context "user_environment" @@ -26,7 +26,7 @@ webtalk_add_data -client xsim -key Command -value "xsim" -context "xsim\\command webtalk_add_data -client xsim -key trace_waveform -value "true" -context "xsim\\usage" webtalk_add_data -client xsim -key runtime -value "60 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 "6112_KB" -context "xsim\\usage" -webtalk_transmit -clientid 2514989005 -regid "174150793_174150794_210688225_140" -xml C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_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 "6128_KB" -context "xsim\\usage" +webtalk_transmit -clientid 918939418 -regid "174150793_174150794_210688225_140" -xml C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_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/dataMemory_tb_behav/xsim.mem b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/xsim.mem index acd1f530eeb0a65a886a12429d3d9c95c2104410..a201b29e0ae3a4badc68dbc0afb071ff63947a90 100644 GIT binary patch delta 1856 zcmZ9Kdpy(oAIFuX=tSDAv@A*b>9}>FcG&u7|qP=cIMIVuixjN*W>YeJU^e$`|)@`Gj)Uq^_2eaP%nHh z8vd8TReE$40BiHT74KA1irltz%QFCk2DR1JrWC2j!GI=k{e@#8i&ekjYNP2uJ+4Da zHfG(fd*=|5uL%qAew%7)u$uhjz;xHVyV#ra95m#Qck6^vAyMWn{=JEI>86o`ll+0) zgMJI3f+OcFvp=0?3t6Yx)}emk1jd?f8z#s_1 zOu&KWJ*d;qHIh1b+q`IoKXUcn9GEe!r}uqnvBg>Zo(8E& zj2?9-0hY8q_DU*I|N0Ozg_Fhflp!+IwX@u7Elj#2tsS|uBfRXWmC{zjRC8dt4$y6A ztDriUH+aki9H75Fw~8ATEEr^t!8f?4@vF%tL4}7|+iYU2_@A z6HNX&Jh0HhRqpJT1e8A``4u^HL3lo5^l~`z!{5a)%(Q^fccgw-7E;|0O!M89*h6de zeTVUj9gOz>Jb+`C_zD=MC!_FTzi-|-wq7GhO*_V|iDs(Z6&f^q0oB|S<6-;Jo?p51 zv8R+!rJ6-?WA@FbFE%0XoqU-;yDuR@V>###NgQ^Re2i$OUZZvwT;v|F9MbA=ZCRdJ zS!(1Nbl+}(ZYVoz7|Gf(cbQ>woA7H)_X`yBCy?331iw^ZX(O{3&N|M-0STnc^rpmM zEVtZgp}^4%piTt=oD_i&E{e%rlbo&Mp@NA=lgt)TfZbvW@^)DZ`f%0d$lLwwf{lfl z@HlD~#dFp9y|PbSBZrox+ATSp2HUTDfFEJh_M?^AEbj)caz(+ouM!l2d9$HC9d8a~ za0-EXz5=%ILhaVTi(?z*5xe38>$bKG3tKzsCRx zrJ&+RIJ^^6=UQlu%t}6Q=xz($1C=bFcj1e*QnynQd_0(~>*Ck;2)@rp({me#;ek>M zr`S?v<&+V+zbX>NI*7p@`SxcSajvEPF~F`dMGxe{?@2A3W7)%T zDz3#heyC$7qi08G@8hz4j3tAb1N6emXY7dGw7K|k>_<5iU0iLJq_$R8W#<@sf9x-< z5-}p7;?H#Y<9)9>)^ymh4`xzGsUO+;{lgsOO;~ z{OVD~Lo=ZnqX!lDb7a<+u5Q6spW-)1*h$>&gs{FB%eS|xv6HM%DSM&Z!0SyRmsIz1 z0S=^DChl2EK0}a-xtL(0QPLCE-^>$9_(`|KexO}{8m<_~!JcfX7^vwbu>v||P7}IF zFb{c+4LnCp-S8r%9rCMR%1`It#JtP~sU^auAFpw}2me_3Y?EZv}#vxZV z-91+fieimI83iGP*n1?%Lv!ADIm}i55U45EzxR0F`S;2l5?5#)pZ7)t1CAOaHN<=f zbY^5>ocI9x<=sW;M@YDgnngdkWz_~!AL063uAetIxAyo8#aZ+c9w1frk$a}WAPV(Z z-wl+=eQT=~Isu?#f>wo~GV`vVw&J%g@-D@vh9IQ0F$ZSGpv)!GCBn`8oAT#*enbq= zjt0^|Hpm)MVf&f0t3r%_D@Q{-H5J;2;GVWc0Q&nVg`)8tvOG0^OXX7K4o9Hs)}#m1OZU?fTHMk${J1NJfO3h@AmUw(HL{;{TGjZxhF^zbSqWpl zqdyQp5w0HOiBRRY9fFYA;%_T``Lb7I;7cs6FV^I8?Ita4D>4gM3kp=PZt!Zp%Uk{i z@2_uf`**M?A=B2QCrYKWF}%`w`006ahn0H?!j-YPk90EHL2drAPl9V?o>-1=Vou^o*-ki)!4X` kjuY_#EBizjH5{BgsFq%lqmn%5&@r$RUL{xRTvw<413Hk+h5!Hn delta 1888 zcmZ9~dpy(o8vt+)c5Fjl;hq;@oyxlWvZOLD(VF8dlHms~;)%O#h{ zHMy0ep_qgwnw^Nb55ru}Y;3bLzw`U+_xa~}eV*s@d7eL>H|s>cf~wH}osmobCO-Zz z#x<#uKtQ79zuA-GLPC+k>#iR6WgTUeTsumuwSP=4do?HN+R{A6^X*Z#eRR(H{(0|o z>ngX7m$m*?5n2y>#pe>BPd8O`)umA9)nD{#l!)@Zy~~Ua;)vjRiOfZu=)6R+AuHxj zG||H}*X3GxfWbR7f$=Ar5WVzyZ74vSz70%VA^&aDef_5ew!&)uqqwNVC>s?bJFQ}2 z-PX-W8Dt6$VlPA}n}d;NuZ&rIRzZjE2*syO+1zJE#DVrOzpn`o*t zTAX>m#e#23J|Qbyvs8I$5Vy0(IMcij)p7Bjs%vF>r&H!z8Vax^qn^fHB{d=!cuR?z z+3)xP-Z~fJ@%lD2Z8Zh&Lg{z@wIO_y2II9ELv%_c1F9KhWV^CE7>FINE93WZ-%`rs zjQyroeXgX;YHYdiEu<=wTxD8|-`tE`TbyoG@Qj)G2;BmPs|d-c0CVPF4?c}&Ww^p) z>w3{2LY!c*C!AY5jO#JSgJ8fYJxA$9zLAAhQcnjhIBG3sUSaE_Goy3okG`cGDtx56 z*qMuscem$MGwoumYwv!IQgT{Zt{_GGE_dcf{3f7WWitNwUenN`?>O<jUG`tI64a!N)Zq z$Lis$zL2c%`9o3H8p`idZXm;38_O{RLQsFp(tX~^;m@GaqALGp^6e@3Z_I?~u+Aqs znU&BGG|yNTZuRLg-m^kKOuwM1G;eg~t8brp1?)}v77LtCl_j&XcD3Hv%K26E0-Op+2U33zD*DZ`e)z(TnXtlU zN@b8l=*EVUd61ucsxMJR)Cac0mqH^zWZtRxfYQgLG_{M#TSf#O=I#e6%^)$_{&&%q zf;Z&=|7BZ2)=@?JGBu!P{Wlx&jBtvxg{v885-MJdXbUWC|w9QMr272=ISvebl z!WjU8n-Ao`MaX;DQUCWJM3&xFP;A|lWqL`E3AZ*^Jb&+JXAx(rAX-AG{N z+_a2f^9CRkSr@9e)O@c~8>%-1a32`*EeiQn6*Ssy;6Si({luO1Ft0F9@s^6P9wy4>i_nK5%472Co?+;6U<0TmltWwuRT|qNUJS zS75a>@?bcM8klcufq^W86}kV}mG1%p+xW6D?({19P^M}fy`Ah-(EgAcpMav9%wyE{ zJg%>>dEZD7fkG=JDX^xs)Bs*`WIW%5Am(=_kA3X6#xL@f{y-&k!pNccRdQ-h-&Cc2 z;9Q)U$@0;so|+rYu_4>tkpm$b?}D{dnj#+OX$1>r`7k39L|JJ|ia=-e27eD2C>nm_;uraQkf=LhW=R?x5+EGh zFu9%`c64#j6`rSFqWKG0D{p%fNtg@|xqOyxx~K9aw8&B@ILf`Mf1-&zjnKT|u%^*z z>r2^01_yp?#@vU)TohZ3uBIkTnYCdY)pwoNQdz{_>05o_YfYoM5I+jRM)Onog`#5$ V9%i5mBz#h6bZ%RhaBdn^ - +
- + - + @@ -34,9 +34,9 @@
- - - + + +
diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/xsim_webtalk.tcl b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/xsim_webtalk.tcl index b491427..898bf47 100644 --- a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/xsim_webtalk.tcl +++ b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/xsim_webtalk.tcl @@ -1,6 +1,6 @@ webtalk_init -webtalk_dir C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/ webtalk_register_client -client project -webtalk_add_data -client project -key date_generated -value "Sat Mar 16 13:18:24 2019" -context "software_version_and_target_device" +webtalk_add_data -client project -key date_generated -value "Sun Mar 24 17:39:06 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" @@ -14,7 +14,7 @@ webtalk_add_data -client project -key target_package -value "not_applicable" -co 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 "4e917e26-7591-4435-9135-15bd446b0238" -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 "4" -context "software_version_and_target_device" +webtalk_add_data -client project -key project_iteration -value "16" -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) Xeon(R) CPU E5-1620 v3 @ 3.50GHz" -context "user_environment" @@ -24,9 +24,9 @@ webtalk_add_data -client project -key system_ram -value "34.000 GB" -context "us 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 "40 ns" -context "xsim\\usage" +webtalk_add_data -client xsim -key runtime -value "45 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 "6108_KB" -context "xsim\\usage" -webtalk_transmit -clientid 3866550317 -regid "174150793_174150794_210688225_140" -xml C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "

XSIM Usage Report


" +webtalk_add_data -client xsim -key Simulation_Time -value "0.03_sec" -context "xsim\\usage" +webtalk_add_data -client xsim -key Simulation_Memory -value "6124_KB" -context "xsim\\usage" +webtalk_transmit -clientid 643401725 -regid "174150793_174150794_210688225_140" -xml C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_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/instructionMemory_tb_behav/xsim.mem b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/xsim.mem index e849de93e2d345df8d7050ad73c037ae5cd25cc8..2a447a485cdd1733c13b59b675f5769aba77da72 100644 GIT binary patch delta 1648 zcmV-$29NoU7@-&<000000000000000000005I6t;000002si)$00000z&WuoR|Szk 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 bRjD|Urgwyj)T~eQ^l7-)()9OVOO*{Ac;QHI diff --git a/lab2CA.sim/sim_1/behav/xsim/xvlog.pb b/lab2CA.sim/sim_1/behav/xsim/xvlog.pb index b4146de3776acc2ac5f64e808a41bb57cecb0e37..cb4f1a000b0ec8e11fd43fa3022e5578a18e10ed 100644 GIT binary patch delta 236 zcmccPe8+i07Jq7TYEEL3zN@pVv8lO%?qmTbxsB7a7}3Qy3oyBeq6>l)Z*CNC!cYyC xFp#XlE^$+;47)^)3>Q|3$u%-OllRL?Fj<&RzA5_+t26${O~I;n^IipcMgZkML=^x4 delta 236 zcmccPe8+i07Qa`1ajIu}USe`)zP_`g!ejv^xsB7a7}3Qy3oyBeq6>l)Z*CNC!cYyC xFp#XlE^$+;47)^)3>Q|3$u%-OllRL?FqxW6zA5_+t26${O~I;n^IipcMgT=)ODg~X diff --git a/lab2CA.srcs/sources_1/new/CPU9bits.v b/lab2CA.srcs/sources_1/new/CPU9bits.v index e16b212..bc27e45 100644 --- a/lab2CA.srcs/sources_1/new/CPU9bits.v +++ b/lab2CA.srcs/sources_1/new/CPU9bits.v @@ -186,11 +186,11 @@ module CPU9bits_tb(); .done(done)); initial begin - #10 + #5 reset = 1'b1; #10 reset = 1'b0; - #850 + #50 diff --git a/lab2CA.srcs/sources_1/new/dataMemory.v b/lab2CA.srcs/sources_1/new/dataMemory.v index c35f3d9..c49b35e 100644 --- a/lab2CA.srcs/sources_1/new/dataMemory.v +++ b/lab2CA.srcs/sources_1/new/dataMemory.v @@ -6,37 +6,24 @@ module dataMemory( output reg [8:0] readData ); - reg [8:0] memory [15:0]; + reg [8:0] memory [512:0]; initial begin + //Equation Solver Memory + memory[0] <= 9'b000000001; + memory[1] <= 9'b000000010; + // String Compare Memory - memory[0] <= 9'b000000100; - memory[1] <= 9'b000001000; - memory[2] <= 9'b000001100; - memory[3] <= 9'b010101010; - memory[4] <= 9'b000001111; - memory[5] <= 9'b000000100; - memory[6] <= 9'b000000011; - memory[7] <= 9'b000000111; - memory[8] <= 9'b000001111; - memory[9] <= 9'b000000100; - memory[10] <= 9'b000000010; - memory[11] <= 9'b000000000; - memory[12] <= 9'b000000000; - memory[13] <= 9'b000000000; - memory[14] <= 9'b000000000; - memory[15] <= 9'b000000000; -// // String Compare Memory // memory[0] <= 9'b000000100; // memory[1] <= 9'b000001000; // memory[2] <= 9'b000001100; // memory[3] <= 9'b010101010; // memory[4] <= 9'b000001111; // memory[5] <= 9'b000000100; -// memory[6] <= 9'b000000011; -// memory[7] <= 9'b000000000; +// memory[6] <= 9'b000000000; +// memory[7] <= 9'b000000111; // memory[8] <= 9'b000001111; -// memory[9] <= 9'b000000100; +// memory[9] <= 9'b000000110; // memory[10] <= 9'b000000010; // memory[11] <= 9'b000000000; // memory[12] <= 9'b000000000; @@ -46,30 +33,30 @@ module dataMemory( // Bubble Sort Initial Memory - memory[0] <= 9'b000011000; - memory[1] <= 9'b000000000; - memory[2] <= 9'b000100000; - memory[3] <= 9'b010001000; - memory[4] <= 9'b010010000; - memory[5] <= 9'b010011000; - memory[6] <= 9'b101001000; - memory[7] <= 9'b101001010; - memory[8] <= 9'b000100011; - memory[9] <= 9'b101001001; - memory[10] <= 9'b011001001; - memory[11] <= 9'b001001000; - memory[12] <= 9'b101001001; - memory[13] <= 9'b011101000; - memory[14] <= 9'b110001010; - memory[15] <= 9'b000100001; - memory[16] <= 9'b100110100; - memory[17] <= 9'b000001001; - memory[18] <= 9'b011001001; - memory[19] <= 9'b000110010; - memory[20] <= 9'b000000001; - memory[21] <= 9'b000111010; - memory[22] <= 9'b101011110; - memory[23] <= 9'b011111100; +// memory[0] <= 9'b000011000; +// memory[1] <= 9'b000000000; +// memory[2] <= 9'b000100000; +// memory[3] <= 9'b010001000; +// memory[4] <= 9'b010010000; +// memory[5] <= 9'b010011000; +// memory[6] <= 9'b101001000; +// memory[7] <= 9'b101001010; +// memory[8] <= 9'b000100011; +// memory[9] <= 9'b101001001; +// memory[10] <= 9'b011001001; +// memory[11] <= 9'b001001000; +// memory[12] <= 9'b101001001; +// memory[13] <= 9'b011101000; +// memory[14] <= 9'b110001010; +// memory[15] <= 9'b000100001; +// memory[16] <= 9'b100110100; +// memory[17] <= 9'b000001001; +// memory[18] <= 9'b011001001; +// memory[19] <= 9'b000110010; +// memory[20] <= 9'b000000001; +// memory[21] <= 9'b000111010; +// memory[22] <= 9'b101011110; +// memory[23] <= 9'b011111100; // Binary Search Memory // memory[0] <= 9'b000000000; diff --git a/lab2CA.srcs/sources_1/new/instructionMemory.v b/lab2CA.srcs/sources_1/new/instructionMemory.v index 3a8f505..220bca3 100644 --- a/lab2CA.srcs/sources_1/new/instructionMemory.v +++ b/lab2CA.srcs/sources_1/new/instructionMemory.v @@ -10,12 +10,15 @@ module instructionMemory( initial begin //Equation Solver -// memory[0] <= 9'b000000000; -// memory[1] <= 9'b000100000; //load -// memory[2] <= 9'b000101000; //load -// memory[3] <= 9'b010100010; //add -// memory[4] <= 9'b111100000; //shift left -// memory[5] <= 9'b111100000; //shift left + memory[0] <= 9'b000000000; + memory[1] <= 9'b011000000; //add0 + memory[1] <= 9'b011001001; //add1 + memory[1] <= 9'b000100000; //load + memory[2] <= 9'b000101000; //load + memory[3] <= 9'b010100010; //add + memory[4] <= 9'b111100000; //shift left + memory[5] <= 9'b111100000; //shift left + memory[6] <= 9'b000000000; //halt // //Testing all instructions // memory[6] <= 9'b010100011; //sub @@ -34,57 +37,16 @@ module instructionMemory( //String Compare - memory[0] <= 9'b000000000; - memory[1] <= 9'b010000000; - memory[2] <= 9'b010001000; - memory[3] <= 9'b010010000; - memory[4] <= 9'b010011000; - memory[5] <= 9'b000100000; - memory[6] <= 9'b011001001; - memory[7] <= 9'b000101010; - memory[8] <= 9'b011010010; - memory[9] <= 9'b000110100; - memory[10] <= 9'b011011011; - memory[11] <= 9'b000111110; - memory[12] <= 9'b101010000; - memory[13] <= 9'b101000010; - memory[14] <= 9'b101001100; - memory[15] <= 9'b101011110; //ends initialization - memory[16] <= 9'b101000011; - memory[17] <= 9'b101001101; - memory[18] <= 9'b000110000; - memory[19] <= 9'b000111010; - memory[20] <= 9'b110010001; - memory[21] <= 9'b100100001; - memory[22] <= 9'b100110000; - memory[23] <= 9'b110011001; - memory[24] <= 9'b100100001; - memory[25] <= 9'b100101101; - memory[26] <= 9'b011000001; - memory[27] <= 9'b011001001; - memory[28] <= 9'b101000010; - memory[29] <= 9'b101001100; - memory[30] <= 9'b010110111; - memory[31] <= 9'b110010001; - memory[32] <= 9'b101110001; - memory[33] <= 9'b101000001; - memory[34] <= 9'b101001111; - memory[35] <= 9'b001001000; - memory[36] <= 9'b011000001; - memory[37] <= 9'b101000000; - memory[38] <= 9'b101110111; - memory[39] <= 9'b000000000; - -// memory[0] <= 9'b000000000; -// memory[1] <= 9'b010000000; -// memory[2] <= 9'b010001000; -// memory[3] <= 9'b010010000; -// memory[4] <= 9'b010011000; -// memory[5] <= 9'b000100000; -// memory[6] <= 9'b011001001; -// memory[7] <= 9'b000101010; -// memory[8] <= 9'b011010010; -// memory[9] <= 9'b000110100; +// memory[0] <= 9'b000000000; +// memory[1] <= 9'b010000000; +// memory[2] <= 9'b010001000; +// memory[3] <= 9'b010010000; +// memory[4] <= 9'b010011000; +// memory[5] <= 9'b000100000; +// memory[6] <= 9'b011001001; +// memory[7] <= 9'b000101010; +// memory[8] <= 9'b011010010; +// memory[9] <= 9'b000110100; // memory[10] <= 9'b011011011; // memory[11] <= 9'b000111110; // memory[12] <= 9'b101010000; @@ -107,62 +69,62 @@ module instructionMemory( // memory[29] <= 9'b101001100; // memory[30] <= 9'b010110111; // memory[31] <= 9'b110010001; -// memory[32] <= 9'b101110010; -// memory[33] <= 9'b101000000; -// memory[34] <= 9'b101001110; +// memory[32] <= 9'b101110001; +// memory[33] <= 9'b101000001; +// memory[34] <= 9'b101001111; // memory[35] <= 9'b001001000; // memory[36] <= 9'b011000001; // memory[37] <= 9'b101000000; -// memory[38] <= 9'b101111000; +// memory[38] <= 9'b101110111; // memory[39] <= 9'b000000000; - + // Bubble Sort - memory[0] <= 9'b000000001; - memory[1] <= 9'b010000000; - memory[2] <= 9'b000100000; - memory[3] <= 9'b010001000; - memory[4] <= 9'b010010000; - memory[5] <= 9'b010011000; - memory[6] <= 9'b101001000; - memory[7] <= 9'b101001010; - memory[8] <= 9'b100100011; - memory[9] <= 9'b101001001; - memory[10] <= 9'b011001001; - memory[11] <= 9'b101001000; - memory[12] <= 9'b101001001; - memory[13] <= 9'b011101000; - memory[14] <= 9'b110001010; - memory[15] <= 9'b100100001; - memory[16] <= 9'b100110100; - memory[17] <= 9'b101001001; - memory[18] <= 9'b011001001; - memory[19] <= 9'b000110010; - memory[20] <= 9'b011001001; - memory[21] <= 9'b000111010; - memory[22] <= 9'b101011110; - memory[23] <= 9'b011111100; - memory[24] <= 9'b110011010; - memory[25] <= 9'b100100001; - memory[26] <= 9'b101110010; - memory[27] <= 9'b101001001; - memory[28] <= 9'b011001001; - memory[29] <= 9'b101011111; - memory[30] <= 9'b001011010; - memory[31] <= 9'b011001001; - memory[32] <= 9'b001010010; - memory[33] <= 9'b010001000; - memory[34] <= 9'b011001001; - memory[35] <= 9'b101001010; - memory[36] <= 9'b101111100; - memory[37] <= 9'b101001011; - memory[38] <= 9'b110001001; - memory[39] <= 9'b100100001; - memory[40] <= 9'b100100011; - memory[41] <= 9'b010001000; - memory[42] <= 9'b101001000; - memory[43] <= 9'b101111011; - memory[44] <= 9'b000000000; +// memory[0] <= 9'b000000001; +// memory[1] <= 9'b010000000; +// memory[2] <= 9'b000100000; +// memory[3] <= 9'b010001000; +// memory[4] <= 9'b010010000; +// memory[5] <= 9'b010011000; +// memory[6] <= 9'b101001000; +// memory[7] <= 9'b101001010; +// memory[8] <= 9'b100100011; +// memory[9] <= 9'b101001001; +// memory[10] <= 9'b011001001; +// memory[11] <= 9'b101001000; +// memory[12] <= 9'b101001001; +// memory[13] <= 9'b011101000; +// memory[14] <= 9'b110001010; +// memory[15] <= 9'b100100001; +// memory[16] <= 9'b100110100; +// memory[17] <= 9'b101001001; +// memory[18] <= 9'b011001001; +// memory[19] <= 9'b000110010; +// memory[20] <= 9'b011001001; +// memory[21] <= 9'b000111010; +// memory[22] <= 9'b101011110; +// memory[23] <= 9'b011111100; +// memory[24] <= 9'b110011010; +// memory[25] <= 9'b100100001; +// memory[26] <= 9'b101110010; +// memory[27] <= 9'b101001001; +// memory[28] <= 9'b011001001; +// memory[29] <= 9'b101011111; +// memory[30] <= 9'b001011010; +// memory[31] <= 9'b011001001; +// memory[32] <= 9'b001010010; +// memory[33] <= 9'b010001000; +// memory[34] <= 9'b011001001; +// memory[35] <= 9'b101001010; +// memory[36] <= 9'b101111100; +// memory[37] <= 9'b101001011; +// memory[38] <= 9'b110001001; +// memory[39] <= 9'b100100001; +// memory[40] <= 9'b100100011; +// memory[41] <= 9'b010001000; +// memory[42] <= 9'b101001000; +// memory[43] <= 9'b101111011; +// memory[44] <= 9'b000000000; // Binary Search @@ -235,8 +197,10 @@ module instructionMemory( end - always@(address)begin - readData <= memory[address]; + always@(address, clk)begin + if(clk == 1'b1)begin + readData <= memory[address]; + end end endmodule diff --git a/lab2CA.xpr b/lab2CA.xpr index f944693..39dd50e 100644 --- a/lab2CA.xpr +++ b/lab2CA.xpr @@ -31,7 +31,7 @@