From 94f0267a133bff936ea1e307c01b685447fc3e0d Mon Sep 17 00:00:00 2001 From: "jose.rodriguezlabra" Date: Sun, 24 Mar 2019 14:16:03 -0400 Subject: [PATCH] stuff --- lab2CA.cache/wt/webtalk_pa.xml | 26 +- lab2CA.runs/.jobs/vrs_config_41.xml | 8 + lab2CA.runs/impl_1/CPU9bits.tcl | 152 +++++ lab2CA.runs/impl_1/CPU9bits.vdi | 451 +++++++++++++++ .../impl_1/CPU9bits_bus_skew_routed.pb | Bin 0 -> 30 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 0 -> 37 bytes lab2CA.runs/impl_1/CPU9bits_drc_opted.rpt | 61 ++ lab2CA.runs/impl_1/CPU9bits_drc_routed.pb | Bin 0 -> 37 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 0 -> 52 bytes .../CPU9bits_methodology_drc_routed.rpt | 60 ++ lab2CA.runs/impl_1/CPU9bits_opt.dcp | Bin 0 -> 8734 bytes lab2CA.runs/impl_1/CPU9bits_placed.dcp | Bin 0 -> 123653 bytes lab2CA.runs/impl_1/CPU9bits_power_routed.rpt | 146 +++++ .../impl_1/CPU9bits_power_summary_routed.pb | Bin 0 -> 722 bytes lab2CA.runs/impl_1/CPU9bits_route_status.pb | Bin 0 -> 43 bytes lab2CA.runs/impl_1/CPU9bits_route_status.rpt | 11 + lab2CA.runs/impl_1/CPU9bits_routed.dcp | Bin 0 -> 127302 bytes .../impl_1/CPU9bits_timing_summary_routed.pb | 2 + .../impl_1/CPU9bits_timing_summary_routed.rpt | 173 ++++++ .../impl_1/CPU9bits_utilization_placed.pb | Bin 0 -> 289 bytes .../impl_1/CPU9bits_utilization_placed.rpt | 209 +++++++ lab2CA.runs/impl_1/gen_run.xml | 167 ++++++ lab2CA.runs/impl_1/htr.txt | 9 + lab2CA.runs/impl_1/init_design.pb | Bin 0 -> 1622 bytes lab2CA.runs/impl_1/opt_design.pb | Bin 0 -> 10821 bytes lab2CA.runs/impl_1/place_design.pb | Bin 0 -> 11934 bytes lab2CA.runs/impl_1/route_design.pb | Bin 0 -> 12016 bytes lab2CA.runs/impl_1/vivado.jou | 12 + lab2CA.runs/impl_1/vivado.pb | Bin 0 -> 149 bytes lab2CA.srcs/sources_1/new/CPU9bits.v | 26 +- lab2CA.srcs/sources_1/new/ControlUnit.v | 35 +- lab2CA.xpr | 3 +- 37 files changed, 2345 insertions(+), 27 deletions(-) create mode 100644 lab2CA.runs/.jobs/vrs_config_41.xml create mode 100644 lab2CA.runs/impl_1/CPU9bits.tcl create mode 100644 lab2CA.runs/impl_1/CPU9bits.vdi create mode 100644 lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.pb create mode 100644 lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.rpt create mode 100644 lab2CA.runs/impl_1/CPU9bits_clock_utilization_routed.rpt create mode 100644 lab2CA.runs/impl_1/CPU9bits_control_sets_placed.rpt create mode 100644 lab2CA.runs/impl_1/CPU9bits_drc_opted.pb create mode 100644 lab2CA.runs/impl_1/CPU9bits_drc_opted.rpt create mode 100644 lab2CA.runs/impl_1/CPU9bits_drc_routed.pb create mode 100644 lab2CA.runs/impl_1/CPU9bits_drc_routed.rpt create mode 100644 lab2CA.runs/impl_1/CPU9bits_io_placed.rpt create mode 100644 lab2CA.runs/impl_1/CPU9bits_methodology_drc_routed.pb create mode 100644 lab2CA.runs/impl_1/CPU9bits_methodology_drc_routed.rpt create mode 100644 lab2CA.runs/impl_1/CPU9bits_opt.dcp create mode 100644 lab2CA.runs/impl_1/CPU9bits_placed.dcp create mode 100644 lab2CA.runs/impl_1/CPU9bits_power_routed.rpt create mode 100644 lab2CA.runs/impl_1/CPU9bits_power_summary_routed.pb create mode 100644 lab2CA.runs/impl_1/CPU9bits_route_status.pb create mode 100644 lab2CA.runs/impl_1/CPU9bits_route_status.rpt create mode 100644 lab2CA.runs/impl_1/CPU9bits_routed.dcp create mode 100644 lab2CA.runs/impl_1/CPU9bits_timing_summary_routed.pb create mode 100644 lab2CA.runs/impl_1/CPU9bits_timing_summary_routed.rpt create mode 100644 lab2CA.runs/impl_1/CPU9bits_utilization_placed.pb create mode 100644 lab2CA.runs/impl_1/CPU9bits_utilization_placed.rpt create mode 100644 lab2CA.runs/impl_1/gen_run.xml create mode 100644 lab2CA.runs/impl_1/htr.txt create mode 100644 lab2CA.runs/impl_1/init_design.pb create mode 100644 lab2CA.runs/impl_1/opt_design.pb create mode 100644 lab2CA.runs/impl_1/place_design.pb create mode 100644 lab2CA.runs/impl_1/route_design.pb create mode 100644 lab2CA.runs/impl_1/vivado.jou create mode 100644 lab2CA.runs/impl_1/vivado.pb diff --git a/lab2CA.cache/wt/webtalk_pa.xml b/lab2CA.cache/wt/webtalk_pa.xml index b1b62fd..d7c1572 100644 --- a/lab2CA.cache/wt/webtalk_pa.xml +++ b/lab2CA.cache/wt/webtalk_pa.xml @@ -3,10 +3,10 @@ - +
- +
@@ -25,7 +25,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -52,8 +52,8 @@ This means code written to parse this file will need to be revisited each subseq - - + + @@ -62,7 +62,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -97,11 +97,12 @@ This means code written to parse this file will need to be revisited each subseq - - - + + + + - + @@ -165,11 +166,6 @@ This means code written to parse this file will need to be revisited each subseq - - - - -
diff --git a/lab2CA.runs/.jobs/vrs_config_41.xml b/lab2CA.runs/.jobs/vrs_config_41.xml new file mode 100644 index 0000000..ff57e1f --- /dev/null +++ b/lab2CA.runs/.jobs/vrs_config_41.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/lab2CA.runs/impl_1/CPU9bits.tcl b/lab2CA.runs/impl_1/CPU9bits.tcl new file mode 100644 index 0000000..1429327 --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits.tcl @@ -0,0 +1,152 @@ +# +# Report generation script generated by Vivado +# + +proc create_report { reportName command } { + set status "." + append status $reportName ".fail" + if { [file exists $status] } { + eval file delete [glob $status] + } + send_msg_id runtcl-4 info "Executing : $command" + set retval [eval catch { $command } msg] + if { $retval != 0 } { + set fp [open $status w] + close $fp + send_msg_id runtcl-5 warning "$msg" + } +} +proc start_step { step } { + set stopFile ".stop.rst" + if {[file isfile .stop.rst]} { + puts "" + puts "*** Halting run - EA reset detected ***" + puts "" + puts "" + return -code error + } + set beginFile ".$step.begin.rst" + set platform "$::tcl_platform(platform)" + set user "$::tcl_platform(user)" + set pid [pid] + set host "" + if { [string equal $platform unix] } { + if { [info exist ::env(HOSTNAME)] } { + set host $::env(HOSTNAME) + } + } else { + if { [info exist ::env(COMPUTERNAME)] } { + set host $::env(COMPUTERNAME) + } + } + set ch [open $beginFile w] + puts $ch "" + puts $ch "" + puts $ch " " + puts $ch " " + puts $ch "" + close $ch +} + +proc end_step { step } { + set endFile ".$step.end.rst" + set ch [open $endFile w] + close $ch +} + +proc step_failed { step } { + set endFile ".$step.error.rst" + set ch [open $endFile w] + close $ch +} + +set_msg_config -id {Synth 8-256} -limit 10000 +set_msg_config -id {Synth 8-638} -limit 10000 + +start_step init_design +set ACTIVE_STEP init_design +set rc [catch { + create_msg_db init_design.pb + create_project -in_memory -part xc7k160tifbg484-2L + set_property design_mode GateLvl [current_fileset] + set_param project.singleFileAddWarning.threshold 0 + set_property webtalk.parent_dir {C:/Users/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 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 + close_msg_db -file init_design.pb +} RESULT] +if {$rc} { + step_failed init_design + return -code error $RESULT +} else { + end_step init_design + unset ACTIVE_STEP +} + +start_step opt_design +set ACTIVE_STEP opt_design +set rc [catch { + create_msg_db opt_design.pb + opt_design + write_checkpoint -force CPU9bits_opt.dcp + create_report "impl_1_opt_report_drc_0" "report_drc -file CPU9bits_drc_opted.rpt -pb CPU9bits_drc_opted.pb -rpx CPU9bits_drc_opted.rpx" + close_msg_db -file opt_design.pb +} RESULT] +if {$rc} { + step_failed opt_design + return -code error $RESULT +} else { + end_step opt_design + unset ACTIVE_STEP +} + +start_step place_design +set ACTIVE_STEP place_design +set rc [catch { + create_msg_db place_design.pb + if { [llength [get_debug_cores -quiet] ] > 0 } { + implement_debug_core + } + place_design + write_checkpoint -force CPU9bits_placed.dcp + create_report "impl_1_place_report_io_0" "report_io -file CPU9bits_io_placed.rpt" + create_report "impl_1_place_report_utilization_0" "report_utilization -file CPU9bits_utilization_placed.rpt -pb CPU9bits_utilization_placed.pb" + create_report "impl_1_place_report_control_sets_0" "report_control_sets -verbose -file CPU9bits_control_sets_placed.rpt" + close_msg_db -file place_design.pb +} RESULT] +if {$rc} { + step_failed place_design + return -code error $RESULT +} else { + end_step place_design + unset ACTIVE_STEP +} + +start_step route_design +set ACTIVE_STEP route_design +set rc [catch { + create_msg_db route_design.pb + route_design + write_checkpoint -force CPU9bits_routed.dcp + create_report "impl_1_route_report_drc_0" "report_drc -file CPU9bits_drc_routed.rpt -pb CPU9bits_drc_routed.pb -rpx CPU9bits_drc_routed.rpx" + create_report "impl_1_route_report_methodology_0" "report_methodology -file CPU9bits_methodology_drc_routed.rpt -pb CPU9bits_methodology_drc_routed.pb -rpx CPU9bits_methodology_drc_routed.rpx" + create_report "impl_1_route_report_power_0" "report_power -file CPU9bits_power_routed.rpt -pb CPU9bits_power_summary_routed.pb -rpx CPU9bits_power_routed.rpx" + create_report "impl_1_route_report_route_status_0" "report_route_status -file CPU9bits_route_status.rpt -pb CPU9bits_route_status.pb" + create_report "impl_1_route_report_timing_summary_0" "report_timing_summary -max_paths 10 -file CPU9bits_timing_summary_routed.rpt -pb CPU9bits_timing_summary_routed.pb -rpx CPU9bits_timing_summary_routed.rpx -warn_on_violation " + create_report "impl_1_route_report_incremental_reuse_0" "report_incremental_reuse -file CPU9bits_incremental_reuse_routed.rpt" + create_report "impl_1_route_report_clock_utilization_0" "report_clock_utilization -file CPU9bits_clock_utilization_routed.rpt" + create_report "impl_1_route_report_bus_skew_0" "report_bus_skew -warn_on_violation -file CPU9bits_bus_skew_routed.rpt -pb CPU9bits_bus_skew_routed.pb -rpx CPU9bits_bus_skew_routed.rpx" + close_msg_db -file route_design.pb +} RESULT] +if {$rc} { + write_checkpoint -force CPU9bits_routed_error.dcp + step_failed route_design + return -code error $RESULT +} else { + end_step route_design + unset ACTIVE_STEP +} + diff --git a/lab2CA.runs/impl_1/CPU9bits.vdi b/lab2CA.runs/impl_1/CPU9bits.vdi new file mode 100644 index 0000000..1e2f1ff --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits.vdi @@ -0,0 +1,451 @@ +#----------------------------------------------------------- +# 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 new file mode 100644 index 0000000000000000000000000000000000000000..3390588d5da71a6f6866045d7ae5646edfab7b0e GIT binary patch literal 30 lcmd;LGcqu=&@-IGEZ|gHtWcbtTCPx(T3nh_Qapp10RVJW2(bVF literal 0 HcmV?d00001 diff --git a/lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.rpt b/lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.rpt new file mode 100644 index 0000000..b616a6c --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.rpt @@ -0,0 +1,15 @@ +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 new file mode 100644 index 0000000..171b57a --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits_clock_utilization_routed.rpt @@ -0,0 +1,154 @@ +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 new file mode 100644 index 0000000..8c090c2 --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits_control_sets_placed.rpt @@ -0,0 +1,65 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..0158a2ad826bcd75c8436a6a29252340aee67559 GIT binary patch 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 new file mode 100644 index 0000000000000000000000000000000000000000..0158a2ad826bcd75c8436a6a29252340aee67559 GIT binary patch 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 new file mode 100644 index 0000000..c596939 --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits_io_placed.rpt @@ -0,0 +1,526 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..635221ff88846a7baf3ce263706606b44af3ba3e GIT binary patch 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 new file mode 100644 index 0000000000000000000000000000000000000000..ff78956ce01f29c6ffb12dead92657515c08784a GIT binary patch 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 new file mode 100644 index 0000000000000000000000000000000000000000..c65af49f17da56cc2995552bc64213cc6a0f88bf GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/lab2CA.runs/impl_1/CPU9bits_route_status.rpt b/lab2CA.runs/impl_1/CPU9bits_route_status.rpt new file mode 100644 index 0000000..e0391c7 --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits_route_status.rpt @@ -0,0 +1,11 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..bde13787aa8cba69ece470f825d070565f97abb0 GIT binary patch literal 127302 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 Y`mC>(s;!}q&o!S=t#f9ka8KR;17JuT_5c6? literal 0 HcmV?d00001 diff --git a/lab2CA.runs/impl_1/CPU9bits_timing_summary_routed.pb b/lab2CA.runs/impl_1/CPU9bits_timing_summary_routed.pb new file mode 100644 index 0000000..4526e93 --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits_timing_summary_routed.pb @@ -0,0 +1,2 @@ + +2012.4’)Timing analysis from Implemented netlist. \ No newline at end of file diff --git a/lab2CA.runs/impl_1/CPU9bits_timing_summary_routed.rpt b/lab2CA.runs/impl_1/CPU9bits_timing_summary_routed.rpt new file mode 100644 index 0000000..33b1003 --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits_timing_summary_routed.rpt @@ -0,0 +1,173 @@ +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_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 +| Design : CPU9bits +| Device : 7k160ti-fbg484 +| Speed File : -2L PRODUCTION 1.12 2017-02-17 +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +Timing Summary Report + +------------------------------------------------------------------------------------------------ +| Timer Settings +| -------------- +------------------------------------------------------------------------------------------------ + + Enable Multi Corner Analysis : Yes + Enable Pessimism Removal : Yes + Pessimism Removal Resolution : Nearest Common Node + Enable Input Delay Default Clock : No + Enable Preset / Clear Arcs : No + Disable Flight Delays : No + Ignore I/O Paths : No + Timing Early Launch at Borrowing Latches : false + + Corner Analyze Analyze + Name Max Paths Min Paths + ------ --------- --------- + Slow Yes Yes + Fast Yes Yes + + + +check_timing report + +Table of Contents +----------------- +1. checking no_clock +2. checking constant_clock +3. checking pulse_width_clock +4. checking unconstrained_internal_endpoints +5. checking no_input_delay +6. checking no_output_delay +7. checking multiple_clock +8. checking generated_clocks +9. checking loops +10. checking partial_input_delay +11. checking partial_output_delay +12. checking latch_loops + +1. checking no_clock +-------------------- + There are 5 register/latch pins with no clock driven by root clock pin: clk (HIGH) + + +2. checking constant_clock +-------------------------- + There are 0 register/latch pins with constant_clock. + + +3. checking pulse_width_clock +----------------------------- + There are 0 register/latch pins which need pulse_width check + + +4. checking unconstrained_internal_endpoints +-------------------------------------------- + There are 10 pins that are not constrained for maximum delay. (HIGH) + + There are 0 pins that are not constrained for maximum delay due to constant clock. + + +5. checking no_input_delay +-------------------------- + There is 1 input port with no input delay specified. (HIGH) + + There are 0 input ports with no input delay but user has a false path constraint. + + +6. checking no_output_delay +--------------------------- + There is 1 port with no output delay specified. (HIGH) + + There are 0 ports with no output delay but user has a false path constraint + + There are 0 ports with no output delay but with a timing clock defined on it or propagating through it + + +7. checking multiple_clock +-------------------------- + There are 0 register/latch pins with multiple clocks. + + +8. checking generated_clocks +---------------------------- + There are 0 generated clocks that are not connected to a clock source. + + +9. checking loops +----------------- + There are 0 combinational loops in the design. + + +10. checking partial_input_delay +-------------------------------- + There are 0 input ports with partial input delay specified. + + +11. checking partial_output_delay +--------------------------------- + There are 0 ports with partial output delay specified. + + +12. checking latch_loops +------------------------ + There are 0 combinational latch loops in the design through latch input + + + +------------------------------------------------------------------------------------------------ +| Design Timing Summary +| --------------------- +------------------------------------------------------------------------------------------------ + + WNS(ns) TNS(ns) TNS Failing Endpoints TNS Total Endpoints WHS(ns) THS(ns) THS Failing Endpoints THS Total Endpoints WPWS(ns) TPWS(ns) TPWS Failing Endpoints TPWS Total Endpoints + ------- ------- --------------------- ------------------- ------- ------- --------------------- ------------------- -------- -------- ---------------------- -------------------- + NA NA NA NA NA NA NA NA NA NA NA NA + + +There are no user specified timing constraints. + + +------------------------------------------------------------------------------------------------ +| Clock Summary +| ------------- +------------------------------------------------------------------------------------------------ + + +------------------------------------------------------------------------------------------------ +| Intra Clock Table +| ----------------- +------------------------------------------------------------------------------------------------ + +Clock WNS(ns) TNS(ns) TNS Failing Endpoints TNS Total Endpoints WHS(ns) THS(ns) THS Failing Endpoints THS Total Endpoints WPWS(ns) TPWS(ns) TPWS Failing Endpoints TPWS Total Endpoints +----- ------- ------- --------------------- ------------------- ------- ------- --------------------- ------------------- -------- -------- ---------------------- -------------------- + + +------------------------------------------------------------------------------------------------ +| Inter Clock Table +| ----------------- +------------------------------------------------------------------------------------------------ + +From Clock To Clock WNS(ns) TNS(ns) TNS Failing Endpoints TNS Total Endpoints WHS(ns) THS(ns) THS Failing Endpoints THS Total Endpoints +---------- -------- ------- ------- --------------------- ------------------- ------- ------- --------------------- ------------------- + + +------------------------------------------------------------------------------------------------ +| Other Path Groups Table +| ----------------------- +------------------------------------------------------------------------------------------------ + +Path Group From Clock To Clock WNS(ns) TNS(ns) TNS Failing Endpoints TNS Total Endpoints WHS(ns) THS(ns) THS Failing Endpoints THS Total Endpoints +---------- ---------- -------- ------- ------- --------------------- ------------------- ------- ------- --------------------- ------------------- + + +------------------------------------------------------------------------------------------------ +| Timing Details +| -------------- +------------------------------------------------------------------------------------------------ + + diff --git a/lab2CA.runs/impl_1/CPU9bits_utilization_placed.pb b/lab2CA.runs/impl_1/CPU9bits_utilization_placed.pb new file mode 100644 index 0000000000000000000000000000000000000000..fad9443840651607eb8fa9b5ddf321c053de7fa6 GIT binary patch literal 289 zcmd;LGcqu=&@-OItPxzAo10ivsgR$hP+F3ilUbEml9`_e;%28-Dioy_=a&{Grxxp- z6&CGjvp=f}5}&Ka(6Gq)sTzpgYXl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lab2CA.runs/impl_1/htr.txt b/lab2CA.runs/impl_1/htr.txt new file mode 100644 index 0000000..a32836e --- /dev/null +++ b/lab2CA.runs/impl_1/htr.txt @@ -0,0 +1,9 @@ +REM +REM Vivado(TM) +REM htr.txt: a Vivado-generated description of how-to-repeat the +REM the basic steps of a run. Note that runme.bat/sh needs +REM to be invoked for Vivado to track run status. +REM Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. +REM + +vivado -log CPU9bits.vdi -applog -m64 -product Vivado -messageDb vivado.pb -mode batch -source CPU9bits.tcl -notrace diff --git a/lab2CA.runs/impl_1/init_design.pb b/lab2CA.runs/impl_1/init_design.pb new file mode 100644 index 0000000000000000000000000000000000000000..e3bd36b274b696180490464c5e4d9f719017f823 GIT binary patch literal 1622 zcmcIkU2oGc6kWHrW2Qib!~^Ba6B^no5+zRhks=;o3^cJ#6Ko(Vp~*|!&Rb$fw!3yb z@Wea(DgGBu`k_F|#2%3HkoaETbM84e7YspVlSdI|K?kl$P%YLL8%}-YoSx%=D?dc9 z0SYNQI|_)TeFhE1W4O70=p9ofp%G)D;K*;C*-cB)-f`b;y9U}p%K_=(L8v;@mu|^5 zY}+|mh>N4*kHSKA5%j_1SL32o!bv`5eW*B;!k0u%87;X^tG*J4n7ue5I6x1;isS>~ z6M1CMK`PtG&^NMBr{KxopnT4x62GIlf1pirEAU;Nn*&d+oqF`bxXG4wmgkp8kNSPege04I1UmW zQ*Xv#cB54<2jrak1U&(_|H-g2(#5UBv03rAU}IkpT{kJuCN1{3fFbWwAM#kyh3i#{PW;tA~tA8o>jBnbhJ&sh;rtK>wxU zq5~$5+L`h3z}g;%lY1m25n=l091=mGnpPo!3Fc7HuGqGnb>(LPywM(PvmTdE6E{9$ z!L)qik4-@p^>H{mg?e=)SzAJIAt7NtA26k%HD0n!P&>O#?tp@uXMyzb9DS~K+%39> zn{+Z;FrPt96PvmoKsoUB&XB!97+#FId0B3c!1c_g%d<=YP!{0Z{~X{|a3e#fbNS4+ r@^mv3?ahg%Gut+s&3S(4pyN2E=b`+~c~g56fGs@+?}*PuP%ZodRI$@6 literal 0 HcmV?d00001 diff --git a/lab2CA.runs/impl_1/opt_design.pb b/lab2CA.runs/impl_1/opt_design.pb new file mode 100644 index 0000000000000000000000000000000000000000..5b78da8515f5100d754351b1725343cb33be89dc GIT binary patch literal 10821 zcmds7UvDE<6|a-np_foCh3=MYfy=Ja-3@Dd{`hZ7fn9GJrQPmE$u6xzQ8XD}+tZ9^ zhPmS;TSYt|o_L`Ms05ElNIdWX_yj!j#HZ*ZAAsMT@i;S?8Lyoto9mR;pE!F@?2G2ef7{d)Y`VEo67eHu^n%(&A8FEl*KmdXamz* z3;)^8SBkQ%_Fi!oju$@9y>e}i{4Ga*`oQy8-|-BqOFf%*nMXBh8alH$qaE9&9j18$ zm(e>b{0_z9WzgE}5Ks6d!NFdR;x$O;xRzRH>Pi zT$C$qV&%L|UVm(N4V^xP^X(g-W%$Z8wHRcHZ1n{CS9lN!=4DBaBlJ3%lWCGyVQJe8 z&I674@%r@}%gLeO#Hcn%{( z-}%<+f%wM4AwyXiWM7ABBPR60WJp!gkb0MVyCq_oW_bvxwxe~&o5)uKwHrhU)S=Kc z?ym-NHD#8N!>REikegVq892)zr@^l?8T`~V_uKJSvN2DAmxk3{&T#>>v zk1ywmCI8Nm_3T(;cj!^i(EVG1hO@K~L3)HKi4dbUt3imFOx_vFpN{N9r4~QJpG*do zY8q6^~lcl%<1HK zGHBG&pz%X;W6S0q-EwW6aW1YlPnc%{C6fh=_enK?MU7_6b48G-&oYGk{bG=qM#vY3 zLzyh&E;h`c;UcP8T}F2XNZq(EGA^Nb<=w1L#w*uJZt4-FAwDZ!)hC17-_DW$=1wRL zP)yT57{A@ZwGEfI;nf7F4oTa?i%CEV(^j~t*!vW+ zIKC{9{}iyd(cLmlAQ+E*BiMOe6)yapU*4X-Y6f>6KRQ)*4)$ch4H<`q_aaD3W=8f{B7Jt5 zA}K3xET89ezey^?9BeZ0ICb`QW}B2NGu`A=8s4&xCOy)}G|Wl;Bf~T)KQJ7so3?&{ zgq*vq^6NJX-j|&-9X)|J*RWEov7_s07wdtH&j> z95TjH#uGf91#q zpdl)h{J!v(A8D?rsRut=E=uV-Og*Ifg$+Cvl#D5}bbDYSKf~Jav1p7?8qo?nYGFzm zJfRO_4`l0H{XefqvlFXhcb>Q`sRuX|0u? zbLR5$`!;8rT}#sqyWDy}A8Y$%Q`=Ws4@&O9;$;Kwe@`yAww^cl4Ug{upQW~*7Va0} zR!~G1);Mx3f60-#6^?{-4yP{6CmN-GMLu0WX8OPnFKZ}}ijEP{DME`K!(?={6i8w@ zY|wQ)T6Ff)hCnU4&T-lh$RxS>D0_d+y{xMX{S24NV3NO-MzJ50o7=48GTsy3e{;*1 z88M}Z|zRZ!^!p0zC^z3npVvFBR=Jzb2feNTx3GWX$F8P}hPzHY1 z&ud6AbYIIY&t{?|o*KE`yi%0?1Jg)|(?`iuD@ZQkN8wnM{Pkr92e|W7ZpKGRshZ?A YaxTpnomnV&jS!qmk(GoMw6Ep<2j=2>vH$=8 literal 0 HcmV?d00001 diff --git a/lab2CA.runs/impl_1/place_design.pb b/lab2CA.runs/impl_1/place_design.pb new file mode 100644 index 0000000000000000000000000000000000000000..a0b0651869f73847988efa30ca31a81f1ad58c85 GIT binary patch literal 11934 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 b6|55&83dTP__(-S^HLOoQj_zGQUn+Qj^ifQ literal 0 HcmV?d00001 diff --git a/lab2CA.srcs/sources_1/new/CPU9bits.v b/lab2CA.srcs/sources_1/new/CPU9bits.v index 4325239..3e04539 100644 --- a/lab2CA.srcs/sources_1/new/CPU9bits.v +++ b/lab2CA.srcs/sources_1/new/CPU9bits.v @@ -5,11 +5,11 @@ module CPU9bits( output wire done ); - wire [8:0] instr, op1, op0, FUAddr,FUJB,PCout,JBRes,FUJ,FUB,AddiOut,AluOut,RFIn, loadMux, dataMemOut, linkData, SE1N, SE2N, SE3N, bankData, bankOP; + wire [8:0] instr, op1, op0, FUAddr,FUJB,PCout,JBRes,FUJ,FUB,AddiOut,AluOut,RFIn, loadMux, dataMemOut, linkData, SE1N, SE2N, SE3N, bankData, bankOP,jumpNeg; wire [2:0] FU; wire [3:0] aluOp; wire [1:0] bankS; - wire addiS, RegEn, loadS, fetchBranch, halt, cout0, cout1, link; + wire addiS, RegEn, loadS, fetchBranch, halt, cout0, cout1, link, js; instructionMemory iM( .clk(clk), @@ -74,7 +74,8 @@ module CPU9bits( .RegEn(RegEn), .halt(done), .link(link), - .bank(bankS) + .bank(bankS), + .js(js) ); @@ -87,12 +88,23 @@ module CPU9bits( .Sum(FUJB), .Cout(cout0)); - mux_2_1 mux1( + mux_2_1 mux0( .A(op0), .B(FUJB), .out(FUAddr), .switch(FU[1])); + twos_compliment_9bit two_comp0( + .A({4'b0000,instr[4:0]}), + .B(jumpNeg)); + + mux_2_1 mux1( + .A({4'b0000,instr[4:0]}), + .B(jumpNeg), + .out(SE2N), + .switch(js)); + + mux_2_1 mux2( .A(SE2N), //Jump -- Change with signer module! .B(SE1N),//Branch -- Change with signer module! @@ -102,11 +114,7 @@ module CPU9bits( sign_extend_3bit SE1( .A(instr[2:0]), .B(SE1N)); - - sign_extend_5bit SE2( - .A(instr[4:0]), - .B(SE2N)); - + bit1_mux_2_1 BranMux( // BEQ MUX .A(FU[0]), .B(op0[0]), diff --git a/lab2CA.srcs/sources_1/new/ControlUnit.v b/lab2CA.srcs/sources_1/new/ControlUnit.v index bd692e4..c9c3f7b 100644 --- a/lab2CA.srcs/sources_1/new/ControlUnit.v +++ b/lab2CA.srcs/sources_1/new/ControlUnit.v @@ -10,7 +10,8 @@ module ControlUnit( output reg RegEn, output reg halt, output reg link, - output reg [1:0] bank); + output reg [1:0] bank, + output reg js); always @(instIn, functBit)begin case(instIn) @@ -24,6 +25,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end else begin aluOut <= 4'b0000; //Add @@ -34,6 +36,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end 4'b1101: begin aluOut <= 4'b0011; //nor @@ -44,6 +47,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end 4'b0100: begin aluOut <= 4'b1011; //zero @@ -54,6 +58,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end 4'b1110: if(functBit == 1) begin @@ -65,6 +70,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end else begin aluOut <= 4'b0010; //or @@ -75,6 +81,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end 4'b1111: if(functBit == 1) begin @@ -86,6 +93,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end else begin aluOut <= 4'b0101; //shift left @@ -96,6 +104,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end 4'b0111: begin aluOut <= 4'b1001; //Less than @@ -106,6 +115,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end 4'b0110: begin aluOut <= 4'b0000; @@ -116,16 +126,29 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end 4'b1001: begin aluOut <= 4'b0000; - FU <= 3'b010; // jump + FU <= 3'b010; // jf RegEn <= 1'b1; halt <= 1'b0; addi <= 1'b0; mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; + end + 4'b1011: begin + aluOut <= 4'b0000; + FU <= 3'b010; // jb + RegEn <= 1'b1; + halt <= 1'b0; + addi <= 1'b0; + mem <= 1'b0; + link <= 1'b0; + bank <= 2'b10; + js <= 1'b1; end 4'b0011: begin // link halt <= 1'b0; @@ -136,6 +159,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b1; bank <= 2'b10; + js <= 1'b0; end 4'b1100: begin aluOut <= 4'b0000; @@ -146,6 +170,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end 4'b1000: begin aluOut <= 4'b0000; @@ -156,6 +181,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end 4'b0001: begin aluOut <= 4'b0000; @@ -166,6 +192,7 @@ module ControlUnit( halt <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end 4'b0010: begin aluOut <= 4'b0000; @@ -176,6 +203,7 @@ module ControlUnit( addi <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end 4'b1010: begin halt <= 1'b0; // bank @@ -186,6 +214,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= {functBit,functBit}; + js <= 1'b0; end 4'b0000: begin halt <= 1'b1; // halt @@ -196,6 +225,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end default: begin halt <= 1'b1; @@ -206,6 +236,7 @@ module ControlUnit( mem <= 1'b0; link <= 1'b0; bank <= 2'b10; + js <= 1'b0; end endcase end diff --git a/lab2CA.xpr b/lab2CA.xpr index c0460e6..f93b4dc 100644 --- a/lab2CA.xpr +++ b/lab2CA.xpr @@ -193,7 +193,7 @@ - + @@ -206,6 +206,7 @@ +