From c85ad153dc187d6f37da52e8f2bb54b116720f00 Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 20 Mar 2019 12:08:24 -0400 Subject: [PATCH] Tested the instructions using the instruction memory All of the instructions seem to be working other than beq. I might just be calling it wrong --- lab2CA.cache/wt/webtalk_pa.xml | 17 +- lab2CA.runs/.jobs/vrs_config_37.xml | 11 + lab2CA.runs/impl_1/CPU9bits.tcl | 150 +++++ lab2CA.runs/impl_1/CPU9bits.vdi | 450 +++++++++++++++ .../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 | 50 ++ lab2CA.runs/impl_1/CPU9bits_opt.dcp | Bin 0 -> 8284 bytes lab2CA.runs/impl_1/CPU9bits_placed.dcp | Bin 0 -> 122670 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 -> 126053 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 | 205 +++++++ lab2CA.runs/impl_1/gen_run.xml | 167 ++++++ lab2CA.runs/impl_1/htr.txt | 9 + lab2CA.runs/impl_1/init_design.pb | Bin 1622 -> 1622 bytes lab2CA.runs/impl_1/opt_design.pb | Bin 10564 -> 10553 bytes lab2CA.runs/impl_1/place_design.pb | Bin 11934 -> 11926 bytes lab2CA.runs/impl_1/route_design.pb | Bin 12022 -> 12014 bytes lab2CA.runs/impl_1/vivado.jou | 12 + lab2CA.runs/impl_1/vivado.pb | Bin 0 -> 149 bytes lab2CA.runs/synth_1/CPU9bits.dcp | Bin 0 -> 7957 bytes lab2CA.runs/synth_1/CPU9bits.tcl | 60 ++ lab2CA.runs/synth_1/CPU9bits.vds | 494 ++++++++++++++++ .../synth_1/CPU9bits_utilization_synth.pb | Bin 0 -> 289 bytes .../synth_1/CPU9bits_utilization_synth.rpt | 179 ++++++ lab2CA.runs/synth_1/gen_run.xml | 99 ++++ lab2CA.runs/synth_1/htr.txt | 9 + lab2CA.runs/synth_1/vivado.jou | 12 + lab2CA.runs/synth_1/vivado.pb | Bin 40413 -> 70660 bytes .../sim_1/behav/xsim/CPU9bits_tb_vlog.prj | 2 + lab2CA.sim/sim_1/behav/xsim/webtalk.jou | 14 +- .../sim_1/behav/xsim/webtalk_14548.backup.jou | 12 - .../sim_1/behav/xsim/webtalk_18656.backup.jou | 12 + ...732.backup.jou => webtalk_7548.backup.jou} | 8 +- lab2CA.sim/sim_1/behav/xsim/xelab.pb | Bin 5174 -> 5400 bytes .../xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c | 103 ++-- .../webtalk/usage_statistics_ext_xsim.xml | 44 ++ .../webtalk/xsim_webtalk.tcl | 32 +- .../xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem | Bin 16282 -> 16815 bytes lab2CA.sim/sim_1/behav/xsim/xvlog.pb | Bin 7579 -> 8456 bytes lab2CA.srcs/sources_1/new/CPU9bits.v | 43 +- lab2CA.srcs/sources_1/new/instructionMemory.v | 32 +- lab2CA.xpr | 10 +- 57 files changed, 3322 insertions(+), 128 deletions(-) create mode 100644 lab2CA.runs/.jobs/vrs_config_37.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/vivado.jou create mode 100644 lab2CA.runs/impl_1/vivado.pb create mode 100644 lab2CA.runs/synth_1/CPU9bits.dcp create mode 100644 lab2CA.runs/synth_1/CPU9bits.tcl create mode 100644 lab2CA.runs/synth_1/CPU9bits.vds create mode 100644 lab2CA.runs/synth_1/CPU9bits_utilization_synth.pb create mode 100644 lab2CA.runs/synth_1/CPU9bits_utilization_synth.rpt create mode 100644 lab2CA.runs/synth_1/gen_run.xml create mode 100644 lab2CA.runs/synth_1/htr.txt create mode 100644 lab2CA.runs/synth_1/vivado.jou delete mode 100644 lab2CA.sim/sim_1/behav/xsim/webtalk_14548.backup.jou create mode 100644 lab2CA.sim/sim_1/behav/xsim/webtalk_18656.backup.jou rename lab2CA.sim/sim_1/behav/xsim/{webtalk_7732.backup.jou => webtalk_7548.backup.jou} (71%) create mode 100644 lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml diff --git a/lab2CA.cache/wt/webtalk_pa.xml b/lab2CA.cache/wt/webtalk_pa.xml index 52d1275..8086da2 100644 --- a/lab2CA.cache/wt/webtalk_pa.xml +++ b/lab2CA.cache/wt/webtalk_pa.xml @@ -3,10 +3,10 @@ - +
- +
@@ -24,7 +24,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -55,10 +55,10 @@ This means code written to parse this file will need to be revisited each subseq - + - + @@ -136,7 +136,7 @@ This means code written to parse this file will need to be revisited each subseq - + @@ -146,11 +146,6 @@ This means code written to parse this file will need to be revisited each subseq - - - - -
diff --git a/lab2CA.runs/.jobs/vrs_config_37.xml b/lab2CA.runs/.jobs/vrs_config_37.xml new file mode 100644 index 0000000..b013dc9 --- /dev/null +++ b/lab2CA.runs/.jobs/vrs_config_37.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/lab2CA.runs/impl_1/CPU9bits.tcl b/lab2CA.runs/impl_1/CPU9bits.tcl new file mode 100644 index 0000000..f9f06bc --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits.tcl @@ -0,0 +1,150 @@ +# +# Report generation script generated by Vivado +# + +proc create_report { reportName command } { + set status "." + append status $reportName ".fail" + if { [file exists $status] } { + eval file delete [glob $status] + } + send_msg_id runtcl-4 info "Executing : $command" + set retval [eval catch { $command } msg] + if { $retval != 0 } { + set fp [open $status w] + close $fp + send_msg_id runtcl-5 warning "$msg" + } +} +proc start_step { step } { + set stopFile ".stop.rst" + if {[file isfile .stop.rst]} { + puts "" + puts "*** Halting run - EA reset detected ***" + puts "" + puts "" + return -code error + } + set beginFile ".$step.begin.rst" + set platform "$::tcl_platform(platform)" + set user "$::tcl_platform(user)" + set pid [pid] + set host "" + if { [string equal $platform unix] } { + if { [info exist ::env(HOSTNAME)] } { + set host $::env(HOSTNAME) + } + } else { + if { [info exist ::env(COMPUTERNAME)] } { + set host $::env(COMPUTERNAME) + } + } + set ch [open $beginFile w] + puts $ch "" + puts $ch "" + puts $ch " " + puts $ch " " + puts $ch "" + close $ch +} + +proc end_step { step } { + set endFile ".$step.end.rst" + set ch [open $endFile w] + close $ch +} + +proc step_failed { step } { + set endFile ".$step.error.rst" + set ch [open $endFile w] + close $ch +} + + +start_step init_design +set ACTIVE_STEP init_design +set rc [catch { + create_msg_db init_design.pb + create_project -in_memory -part xc7k160tifbg484-2L + set_property design_mode GateLvl [current_fileset] + set_param project.singleFileAddWarning.threshold 0 + set_property webtalk.parent_dir C:/Users/ecelab/ECE3570-Lab/lab2CA.cache/wt [current_project] + set_property parent.project_path C:/Users/ecelab/ECE3570-Lab/lab2CA.xpr [current_project] + set_property ip_output_repo C:/Users/ecelab/ECE3570-Lab/lab2CA.cache/ip [current_project] + set_property ip_cache_permissions {read write} [current_project] + add_files -quiet C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1/CPU9bits.dcp + link_design -top CPU9bits -part xc7k160tifbg484-2L + close_msg_db -file init_design.pb +} RESULT] +if {$rc} { + step_failed init_design + return -code error $RESULT +} else { + end_step init_design + unset ACTIVE_STEP +} + +start_step opt_design +set ACTIVE_STEP opt_design +set rc [catch { + create_msg_db opt_design.pb + opt_design + write_checkpoint -force CPU9bits_opt.dcp + create_report "impl_1_opt_report_drc_0" "report_drc -file CPU9bits_drc_opted.rpt -pb CPU9bits_drc_opted.pb -rpx CPU9bits_drc_opted.rpx" + close_msg_db -file opt_design.pb +} RESULT] +if {$rc} { + step_failed opt_design + return -code error $RESULT +} else { + end_step opt_design + unset ACTIVE_STEP +} + +start_step place_design +set ACTIVE_STEP place_design +set rc [catch { + create_msg_db place_design.pb + if { [llength [get_debug_cores -quiet] ] > 0 } { + implement_debug_core + } + place_design + write_checkpoint -force CPU9bits_placed.dcp + create_report "impl_1_place_report_io_0" "report_io -file CPU9bits_io_placed.rpt" + create_report "impl_1_place_report_utilization_0" "report_utilization -file CPU9bits_utilization_placed.rpt -pb CPU9bits_utilization_placed.pb" + create_report "impl_1_place_report_control_sets_0" "report_control_sets -verbose -file CPU9bits_control_sets_placed.rpt" + close_msg_db -file place_design.pb +} RESULT] +if {$rc} { + step_failed place_design + return -code error $RESULT +} else { + end_step place_design + unset ACTIVE_STEP +} + +start_step route_design +set ACTIVE_STEP route_design +set rc [catch { + create_msg_db route_design.pb + route_design + write_checkpoint -force CPU9bits_routed.dcp + create_report "impl_1_route_report_drc_0" "report_drc -file CPU9bits_drc_routed.rpt -pb CPU9bits_drc_routed.pb -rpx CPU9bits_drc_routed.rpx" + create_report "impl_1_route_report_methodology_0" "report_methodology -file CPU9bits_methodology_drc_routed.rpt -pb CPU9bits_methodology_drc_routed.pb -rpx CPU9bits_methodology_drc_routed.rpx" + create_report "impl_1_route_report_power_0" "report_power -file CPU9bits_power_routed.rpt -pb CPU9bits_power_summary_routed.pb -rpx CPU9bits_power_routed.rpx" + create_report "impl_1_route_report_route_status_0" "report_route_status -file CPU9bits_route_status.rpt -pb CPU9bits_route_status.pb" + create_report "impl_1_route_report_timing_summary_0" "report_timing_summary -max_paths 10 -file CPU9bits_timing_summary_routed.rpt -pb CPU9bits_timing_summary_routed.pb -rpx CPU9bits_timing_summary_routed.rpx -warn_on_violation " + create_report "impl_1_route_report_incremental_reuse_0" "report_incremental_reuse -file CPU9bits_incremental_reuse_routed.rpt" + create_report "impl_1_route_report_clock_utilization_0" "report_clock_utilization -file CPU9bits_clock_utilization_routed.rpt" + create_report "impl_1_route_report_bus_skew_0" "report_bus_skew -warn_on_violation -file CPU9bits_bus_skew_routed.rpt -pb CPU9bits_bus_skew_routed.pb -rpx CPU9bits_bus_skew_routed.rpx" + close_msg_db -file route_design.pb +} RESULT] +if {$rc} { + write_checkpoint -force CPU9bits_routed_error.dcp + step_failed route_design + return -code error $RESULT +} else { + end_step route_design + unset ACTIVE_STEP +} + diff --git a/lab2CA.runs/impl_1/CPU9bits.vdi b/lab2CA.runs/impl_1/CPU9bits.vdi new file mode 100644 index 0000000..f2aed17 --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits.vdi @@ -0,0 +1,450 @@ +#----------------------------------------------------------- +# Vivado v2018.3 (64-bit) +# SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 +# IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 +# Start of session at: Wed Mar 20 10:54:16 2019 +# Process ID: 6632 +# Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1 +# Command line: vivado.exe -log CPU9bits.vdi -applog -product Vivado -messageDb vivado.pb -mode batch -source CPU9bits.tcl -notrace +# Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits.vdi +# Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1\vivado.jou +#----------------------------------------------------------- +source CPU9bits.tcl -notrace +Command: link_design -top CPU9bits -part xc7k160tifbg484-2L +Design is defaulting to srcset: sources_1 +Design is defaulting to constrset: constrs_1 +INFO: [Project 1-479] Netlist was created with Vivado 2018.3 +INFO: [Device 21-403] Loading part xc7k160tifbg484-2L +INFO: [Project 1-570] Preparing netlist for logic optimization +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 577.477 ; gain = 0.000 +INFO: [Project 1-111] Unisim Transformation Summary: +No Unisim elements were transformed. + +4 Infos, 0 Warnings, 0 Critical Warnings and 0 Errors encountered. +link_design completed successfully +link_design: Time (s): cpu = 00:00:06 ; elapsed = 00:00:15 . Memory (MB): peak = 582.992 ; gain = 327.441 +Command: opt_design +Attempting to get a license for feature 'Implementation' and/or device 'xc7k160ti' +INFO: [Common 17-349] Got license for feature 'Implementation' and/or device 'xc7k160ti' +Running DRC as a precondition to command opt_design + +Starting DRC Task +INFO: [DRC 23-27] Running DRC with 2 threads +INFO: [Project 1-461] DRC finished with 0 Errors +INFO: [Project 1-462] Please refer to the DRC report (report_drc) for more information. + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.158 . Memory (MB): peak = 584.691 ; gain = 1.699 + +Starting Cache Timing Information Task +INFO: [Timing 38-35] Done setting XDC timing constraints. +Ending Cache Timing Information Task | Checksum: 67eaf6c9 + +Time (s): cpu = 00:00:09 ; elapsed = 00:00:10 . Memory (MB): peak = 1120.242 ; gain = 535.551 + +Starting Logic Optimization Task + +Phase 1 Retarget +INFO: [Opt 31-138] Pushed 0 inverter(s) to 0 load pin(s). +INFO: [Opt 31-49] Retargeted 0 cell(s). +Phase 1 Retarget | Checksum: 67eaf6c9 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.033 . Memory (MB): peak = 1215.434 ; gain = 0.000 +INFO: [Opt 31-389] Phase Retarget created 0 cells and removed 0 cells + +Phase 2 Constant propagation +INFO: [Opt 31-138] Pushed 0 inverter(s) to 0 load pin(s). +Phase 2 Constant propagation | Checksum: 67eaf6c9 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.035 . Memory (MB): peak = 1215.434 ; gain = 0.000 +INFO: [Opt 31-389] Phase Constant propagation created 0 cells and removed 0 cells + +Phase 3 Sweep +Phase 3 Sweep | Checksum: 67eaf6c9 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.042 . Memory (MB): peak = 1215.434 ; gain = 0.000 +INFO: [Opt 31-389] Phase Sweep created 0 cells and removed 0 cells + +Phase 4 BUFG optimization +Phase 4 BUFG optimization | Checksum: 67eaf6c9 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.044 . Memory (MB): peak = 1215.434 ; gain = 0.000 +INFO: [Opt 31-662] Phase BUFG optimization created 0 cells of which 0 are BUFGs and removed 0 cells. + +Phase 5 Shift Register Optimization +Phase 5 Shift Register Optimization | Checksum: 67eaf6c9 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.074 . Memory (MB): peak = 1215.434 ; gain = 0.000 +INFO: [Opt 31-389] Phase Shift Register Optimization created 0 cells and removed 0 cells + +Phase 6 Post Processing Netlist +Phase 6 Post Processing Netlist | Checksum: 67eaf6c9 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.075 . Memory (MB): peak = 1215.434 ; gain = 0.000 +INFO: [Opt 31-389] Phase Post Processing Netlist created 0 cells and removed 0 cells +Opt_design Change Summary +========================= + + +------------------------------------------------------------------------------------------------------------------------- +| Phase | #Cells created | #Cells Removed | #Constrained objects preventing optimizations | +------------------------------------------------------------------------------------------------------------------------- +| Retarget | 0 | 0 | 0 | +| Constant propagation | 0 | 0 | 0 | +| Sweep | 0 | 0 | 0 | +| BUFG optimization | 0 | 0 | 0 | +| Shift Register Optimization | 0 | 0 | 0 | +| Post Processing Netlist | 0 | 0 | 0 | +------------------------------------------------------------------------------------------------------------------------- + + + +Starting Connectivity Check Task + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 +Ending Logic Optimization Task | Checksum: 67eaf6c9 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.078 . Memory (MB): peak = 1215.434 ; gain = 0.000 + +Starting Power Optimization Task +INFO: [Pwropt 34-132] Skipping clock gating for clocks with a period < 2.00 ns. +Ending Power Optimization Task | Checksum: 67eaf6c9 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.012 . Memory (MB): peak = 1215.434 ; gain = 0.000 + +Starting Final Cleanup Task +Ending Final Cleanup Task | Checksum: 67eaf6c9 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 + +Starting Netlist Obfuscation Task +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 +Ending Netlist Obfuscation Task | Checksum: 67eaf6c9 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 +INFO: [Common 17-83] Releasing license: Implementation +20 Infos, 0 Warnings, 0 Critical Warnings and 0 Errors encountered. +opt_design completed successfully +opt_design: Time (s): cpu = 00:00:10 ; elapsed = 00:00:11 . Memory (MB): peak = 1215.434 ; gain = 632.441 +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 +WARNING: [Constraints 18-5210] No constraints selected for write. +Resolution: This message can indicate that there are no constraints for the design, or it can indicate that the used_in flags are set such that the constraints are ignored. This later case is used when running synth_design to not write synthesis constraints to the resulting checkpoint. Instead, project constraints are read when the synthesized design is opened. +INFO: [Common 17-1381] The checkpoint 'C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_opt.dcp' has been generated. +INFO: [runtcl-4] Executing : report_drc -file CPU9bits_drc_opted.rpt -pb CPU9bits_drc_opted.pb -rpx CPU9bits_drc_opted.rpx +Command: report_drc -file CPU9bits_drc_opted.rpt -pb CPU9bits_drc_opted.pb -rpx CPU9bits_drc_opted.rpx +INFO: [IP_Flow 19-234] Refreshing IP repositories +INFO: [IP_Flow 19-1704] No user IP repositories specified +INFO: [IP_Flow 19-2313] Loaded Vivado IP repository 'C:/Xilinx/Vivado/2018.3/data/ip'. +INFO: [DRC 23-27] Running DRC with 2 threads +INFO: [Coretcl 2-168] The results of DRC are in file C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_drc_opted.rpt. +report_drc completed successfully +Command: place_design +Attempting to get a license for feature 'Implementation' and/or device 'xc7k160ti' +INFO: [Common 17-349] Got license for feature 'Implementation' and/or device 'xc7k160ti' +INFO: [DRC 23-27] Running DRC with 2 threads +INFO: [Vivado_Tcl 4-198] DRC finished with 0 Errors +INFO: [Vivado_Tcl 4-199] Please refer to the DRC report (report_drc) for more information. +Running DRC as a precondition to command place_design +INFO: [DRC 23-27] Running DRC with 2 threads +INFO: [Vivado_Tcl 4-198] DRC finished with 0 Errors +INFO: [Vivado_Tcl 4-199] Please refer to the DRC report (report_drc) for more information. + +Starting Placer Task +INFO: [Place 30-611] Multithreading enabled for place_design using a maximum of 2 CPUs + +Phase 1 Placer Initialization + +Phase 1.1 Placer Initialization Netlist Sorting +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 +Phase 1.1 Placer Initialization Netlist Sorting | Checksum: 1e8bce05 + +Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.012 . Memory (MB): peak = 1215.434 ; gain = 0.000 +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1215.434 ; gain = 0.000 + +Phase 1.2 IO Placement/ Clock Placement/ Build Placer Device +INFO: [Timing 38-35] Done setting XDC timing constraints. +Phase 1.2 IO Placement/ Clock Placement/ Build Placer Device | Checksum: e57f37ca + +Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1228.512 ; gain = 13.078 + +Phase 1.3 Build Placer Netlist Model +Phase 1.3 Build Placer Netlist Model | Checksum: 12d43b0ad + +Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1228.512 ; gain = 13.078 + +Phase 1.4 Constrain Clocks/Macros +Phase 1.4 Constrain Clocks/Macros | Checksum: 12d43b0ad + +Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1228.512 ; gain = 13.078 +Phase 1 Placer Initialization | Checksum: 12d43b0ad + +Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1228.512 ; gain = 13.078 + +Phase 2 Global Placement + +Phase 2.1 Floorplanning +Phase 2.1 Floorplanning | Checksum: 12d43b0ad + +Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1230.293 ; gain = 14.859 +WARNING: [Place 46-29] place_design is not in timing mode. Skip physical synthesis in placer +Phase 2 Global Placement | Checksum: 1864333f5 + +Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1238.859 ; gain = 23.426 + +Phase 3 Detail Placement + +Phase 3.1 Commit Multi Column Macros +Phase 3.1 Commit Multi Column Macros | Checksum: 1864333f5 + +Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1238.859 ; gain = 23.426 + +Phase 3.2 Commit Most Macros & LUTRAMs +Phase 3.2 Commit Most Macros & LUTRAMs | Checksum: 1b035ff86 + +Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1238.859 ; gain = 23.426 + +Phase 3.3 Area Swap Optimization +Phase 3.3 Area Swap Optimization | Checksum: 1a32c6abd + +Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1238.859 ; gain = 23.426 + +Phase 3.4 Pipeline Register Optimization +Phase 3.4 Pipeline Register Optimization | Checksum: 1a32c6abd + +Time (s): cpu = 00:00:02 ; elapsed = 00:00:01 . Memory (MB): peak = 1238.859 ; gain = 23.426 + +Phase 3.5 Small Shape Detail Placement +Phase 3.5 Small Shape Detail Placement | Checksum: fab459d9 + +Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 + +Phase 3.6 Re-assign LUT pins +Phase 3.6 Re-assign LUT pins | Checksum: fab459d9 + +Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 + +Phase 3.7 Pipeline Register Optimization +Phase 3.7 Pipeline Register Optimization | Checksum: fab459d9 + +Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 +Phase 3 Detail Placement | Checksum: fab459d9 + +Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 + +Phase 4 Post Placement Optimization and Clean-Up + +Phase 4.1 Post Commit Optimization +Phase 4.1 Post Commit Optimization | Checksum: fab459d9 + +Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 + +Phase 4.2 Post Placement Cleanup +Phase 4.2 Post Placement Cleanup | Checksum: fab459d9 + +Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 + +Phase 4.3 Placer Reporting +Phase 4.3 Placer Reporting | Checksum: fab459d9 + +Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 + +Phase 4.4 Final Placement Cleanup +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1247.652 ; gain = 0.000 +Phase 4.4 Final Placement Cleanup | Checksum: 12de424c6 + +Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 +Phase 4 Post Placement Optimization and Clean-Up | Checksum: 12de424c6 + +Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 +Ending Placer Task | Checksum: 1217184e4 + +Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1247.652 ; gain = 32.219 +INFO: [Common 17-83] Releasing license: Implementation +37 Infos, 2 Warnings, 0 Critical Warnings and 0 Errors encountered. +place_design completed successfully +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1247.652 ; gain = 0.000 +WARNING: [Constraints 18-5210] No constraints selected for write. +Resolution: This message can indicate that there are no constraints for the design, or it can indicate that the used_in flags are set such that the constraints are ignored. This later case is used when running synth_design to not write synthesis constraints to the resulting checkpoint. Instead, project constraints are read when the synthesized design is opened. +Writing placer database... +Writing XDEF routing. +Writing XDEF routing logical nets. +Writing XDEF routing special nets. +Write XDEF Complete: Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.091 . Memory (MB): peak = 1247.652 ; gain = 0.000 +INFO: [Common 17-1381] The checkpoint 'C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_placed.dcp' has been generated. +INFO: [runtcl-4] Executing : report_io -file CPU9bits_io_placed.rpt +report_io: Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.049 . Memory (MB): peak = 1247.652 ; gain = 0.000 +INFO: [runtcl-4] Executing : report_utilization -file CPU9bits_utilization_placed.rpt -pb CPU9bits_utilization_placed.pb +INFO: [runtcl-4] Executing : report_control_sets -verbose -file CPU9bits_control_sets_placed.rpt +report_control_sets: Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.001 . Memory (MB): peak = 1247.652 ; gain = 0.000 +Command: route_design +Attempting to get a license for feature 'Implementation' and/or device 'xc7k160ti' +INFO: [Common 17-349] Got license for feature 'Implementation' and/or device 'xc7k160ti' +Running DRC as a precondition to command route_design +INFO: [DRC 23-27] Running DRC with 2 threads +INFO: [Vivado_Tcl 4-198] DRC finished with 0 Errors +INFO: [Vivado_Tcl 4-199] Please refer to the DRC report (report_drc) for more information. + + +Starting Routing Task +INFO: [Route 35-254] Multithreading enabled for route_design using a maximum of 2 CPUs +Checksum: PlaceDB: b70f4e2d ConstDB: 0 ShapeSum: 6a6236b7 RouteDB: 0 + +Phase 1 Build RT Design +Phase 1 Build RT Design | Checksum: ffbb244b + +Time (s): cpu = 00:00:28 ; elapsed = 00:00:21 . Memory (MB): peak = 1468.047 ; gain = 220.355 +Post Restoration Checksum: NetGraph: 5f6c3d5a NumContArr: a04ee6f1 Constraints: 0 Timing: 0 + +Phase 2 Router Initialization +INFO: [Route 35-64] No timing constraints were detected. The router will operate in resource-optimization mode. + +Phase 2.1 Fix Topology Constraints +Phase 2.1 Fix Topology Constraints | Checksum: ffbb244b + +Time (s): cpu = 00:00:28 ; elapsed = 00:00:21 . Memory (MB): peak = 1472.582 ; gain = 224.891 + +Phase 2.2 Pre Route Cleanup +Phase 2.2 Pre Route Cleanup | Checksum: ffbb244b + +Time (s): cpu = 00:00:28 ; elapsed = 00:00:21 . Memory (MB): peak = 1472.582 ; gain = 224.891 + Number of Nodes with overlaps = 0 +Phase 2 Router Initialization | Checksum: 7ea84813 + +Time (s): cpu = 00:00:28 ; elapsed = 00:00:21 . Memory (MB): peak = 1496.957 ; gain = 249.266 + +Phase 3 Initial Routing +Phase 3 Initial Routing | Checksum: 16fa702c6 + +Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 + +Phase 4 Rip-up And Reroute + +Phase 4.1 Global Iteration 0 + Number of Nodes with overlaps = 0 +Phase 4.1 Global Iteration 0 | Checksum: fb3beefb + +Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 +Phase 4 Rip-up And Reroute | Checksum: fb3beefb + +Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 + +Phase 5 Delay and Skew Optimization +Phase 5 Delay and Skew Optimization | Checksum: fb3beefb + +Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 + +Phase 6 Post Hold Fix + +Phase 6.1 Hold Fix Iter +Phase 6.1 Hold Fix Iter | Checksum: fb3beefb + +Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 +Phase 6 Post Hold Fix | Checksum: fb3beefb + +Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 + +Phase 7 Route finalize + +Router Utilization Summary + Global Vertical Routing Utilization = 2.61131e-05 % + Global Horizontal Routing Utilization = 0.000170503 % + Routable Net Status* + *Does not include unroutable nets such as driverless and loadless. + Run report_route_status for detailed report. + Number of Failed Nets = 0 + Number of Unrouted Nets = 0 + Number of Partially Routed Nets = 0 + Number of Node Overlaps = 0 + +Congestion Report +North Dir 1x1 Area, Max Cong = 0.900901%, No Congested Regions. +South Dir 1x1 Area, Max Cong = 0%, No Congested Regions. +East Dir 1x1 Area, Max Cong = 1.47059%, No Congested Regions. +West Dir 1x1 Area, Max Cong = 2.94118%, No Congested Regions. + +------------------------------ +Reporting congestion hotspots +------------------------------ +Direction: North +---------------- +Congested clusters found at Level 0 +Effective congestion level: 0 Aspect Ratio: 1 Sparse Ratio: 0 +Direction: South +---------------- +Congested clusters found at Level 0 +Effective congestion level: 0 Aspect Ratio: 1 Sparse Ratio: 0 +Direction: East +---------------- +Congested clusters found at Level 0 +Effective congestion level: 0 Aspect Ratio: 1 Sparse Ratio: 0 +Direction: West +---------------- +Congested clusters found at Level 0 +Effective congestion level: 0 Aspect Ratio: 1 Sparse Ratio: 0 + +Phase 7 Route finalize | Checksum: fb3beefb + +Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 + +Phase 8 Verifying routed nets + + Verification completed successfully +Phase 8 Verifying routed nets | Checksum: fb3beefb + +Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 + +Phase 9 Depositing Routes +Phase 9 Depositing Routes | Checksum: fb3beefb + +Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 +INFO: [Route 35-16] Router Completed Successfully + +Time (s): cpu = 00:00:29 ; elapsed = 00:00:22 . Memory (MB): peak = 1496.957 ; gain = 249.266 + +Routing Is Done. +INFO: [Common 17-83] Releasing license: Implementation +49 Infos, 3 Warnings, 0 Critical Warnings and 0 Errors encountered. +route_design completed successfully +route_design: Time (s): cpu = 00:00:29 ; elapsed = 00:00:29 . Memory (MB): peak = 1496.957 ; gain = 249.305 +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 1496.957 ; gain = 0.000 +WARNING: [Constraints 18-5210] No constraints selected for write. +Resolution: This message can indicate that there are no constraints for the design, or it can indicate that the used_in flags are set such that the constraints are ignored. This later case is used when running synth_design to not write synthesis constraints to the resulting checkpoint. Instead, project constraints are read when the synthesized design is opened. +Writing placer database... +Writing XDEF routing. +Writing XDEF routing logical nets. +Writing XDEF routing special nets. +Write XDEF Complete: Time (s): cpu = 00:00:00 ; elapsed = 00:00:00.039 . Memory (MB): peak = 1496.957 ; gain = 0.000 +INFO: [Common 17-1381] The checkpoint 'C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_routed.dcp' has been generated. +INFO: [runtcl-4] Executing : report_drc -file CPU9bits_drc_routed.rpt -pb CPU9bits_drc_routed.pb -rpx CPU9bits_drc_routed.rpx +Command: report_drc -file CPU9bits_drc_routed.rpt -pb CPU9bits_drc_routed.pb -rpx CPU9bits_drc_routed.rpx +INFO: [IP_Flow 19-1839] IP Catalog is up to date. +INFO: [DRC 23-27] Running DRC with 2 threads +INFO: [Coretcl 2-168] The results of DRC are in file C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_drc_routed.rpt. +report_drc completed successfully +INFO: [runtcl-4] Executing : report_methodology -file CPU9bits_methodology_drc_routed.rpt -pb CPU9bits_methodology_drc_routed.pb -rpx CPU9bits_methodology_drc_routed.rpx +Command: report_methodology -file CPU9bits_methodology_drc_routed.rpt -pb CPU9bits_methodology_drc_routed.pb -rpx CPU9bits_methodology_drc_routed.rpx +INFO: [Timing 38-35] Done setting XDC timing constraints. +INFO: [DRC 23-133] Running Methodology with 2 threads +INFO: [Coretcl 2-1520] The results of Report Methodology are in file C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/impl_1/CPU9bits_methodology_drc_routed.rpt. +report_methodology completed successfully +INFO: [runtcl-4] Executing : report_power -file CPU9bits_power_routed.rpt -pb CPU9bits_power_summary_routed.pb -rpx CPU9bits_power_routed.rpx +Command: report_power -file CPU9bits_power_routed.rpt -pb CPU9bits_power_summary_routed.pb -rpx CPU9bits_power_routed.rpx +WARNING: [Power 33-232] No user defined clocks were found in the design! +Resolution: Please specify clocks using create_clock/create_generated_clock for sequential elements. For pure combinatorial circuits, please specify a virtual clock, otherwise the vectorless estimation might be inaccurate +INFO: [Timing 38-35] Done setting XDC timing constraints. +Running Vector-less Activity Propagation... + +Finished Running Vector-less Activity Propagation +60 Infos, 5 Warnings, 0 Critical Warnings and 0 Errors encountered. +report_power completed successfully +INFO: [runtcl-4] Executing : report_route_status -file CPU9bits_route_status.rpt -pb CPU9bits_route_status.pb +INFO: [runtcl-4] Executing : report_timing_summary -max_paths 10 -file CPU9bits_timing_summary_routed.rpt -pb CPU9bits_timing_summary_routed.pb -rpx CPU9bits_timing_summary_routed.rpx -warn_on_violation +INFO: [Timing 38-91] UpdateTimingParams: Speed grade: -2L, Delay Type: min_max. +INFO: [Timing 38-191] Multithreading enabled for timing update using a maximum of 2 CPUs +WARNING: [Timing 38-313] There are no user specified timing constraints. Timing constraints are needed for proper timing analysis. +INFO: [runtcl-4] Executing : report_incremental_reuse -file CPU9bits_incremental_reuse_routed.rpt +INFO: [Vivado_Tcl 4-1062] Incremental flow is disabled. No incremental reuse Info to report. +INFO: [runtcl-4] Executing : report_clock_utilization -file CPU9bits_clock_utilization_routed.rpt +INFO: [runtcl-4] Executing : report_bus_skew -warn_on_violation -file CPU9bits_bus_skew_routed.rpt -pb CPU9bits_bus_skew_routed.pb -rpx CPU9bits_bus_skew_routed.rpx +INFO: [Timing 38-91] UpdateTimingParams: Speed grade: -2L, Delay Type: min_max. +INFO: [Timing 38-191] Multithreading enabled for timing update using a maximum of 2 CPUs +INFO: [Common 17-206] Exiting Vivado at Wed Mar 20 10:55:21 2019... diff --git a/lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.pb b/lab2CA.runs/impl_1/CPU9bits_bus_skew_routed.pb 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..628651f --- /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 : Wed Mar 20 10:55:21 2019 +| Host : DESKTOP-8QFGS52 running 64-bit major release (build 9200) +| Command : report_bus_skew -warn_on_violation -file CPU9bits_bus_skew_routed.rpt -pb CPU9bits_bus_skew_routed.pb -rpx CPU9bits_bus_skew_routed.rpx +| Design : CPU9bits +| Device : 7k160ti-fbg484 +| Speed File : -2L PRODUCTION 1.12 2017-02-17 +--------------------------------------------------------------------------------------------------------------------------------------------------------- + +Bus Skew Report + +No bus skew constraints + diff --git a/lab2CA.runs/impl_1/CPU9bits_clock_utilization_routed.rpt b/lab2CA.runs/impl_1/CPU9bits_clock_utilization_routed.rpt new file mode 100644 index 0000000..945407b --- /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 : Wed Mar 20 10:55:21 2019 +| Host : DESKTOP-8QFGS52 running 64-bit major release (build 9200) +| Command : report_clock_utilization -file CPU9bits_clock_utilization_routed.rpt +| Design : CPU9bits +| Device : 7k160ti-fbg484 +| Speed File : -2L PRODUCTION 1.12 2017-02-17 +| Temperature Grade : I +------------------------------------------------------------------------------------------- + +Clock Utilization Report + +Table of Contents +----------------- +1. Clock Primitive Utilization +2. Global Clock Resources +3. Global Clock Source Details +4. Clock Regions: Key Resource Utilization +5. Clock Regions : Global Clock Summary +6. Device Cell Placement Summary for Global Clock g0 +7. Clock Region Cell Placement per Global Clock: Region X0Y1 + +1. Clock Primitive Utilization +------------------------------ + ++----------+------+-----------+-----+--------------+--------+ +| Type | Used | Available | LOC | Clock Region | Pblock | ++----------+------+-----------+-----+--------------+--------+ +| BUFGCTRL | 1 | 32 | 0 | 0 | 0 | +| BUFH | 0 | 120 | 0 | 0 | 0 | +| BUFIO | 0 | 32 | 0 | 0 | 0 | +| BUFMR | 0 | 16 | 0 | 0 | 0 | +| BUFR | 0 | 32 | 0 | 0 | 0 | +| MMCM | 0 | 8 | 0 | 0 | 0 | +| PLL | 0 | 8 | 0 | 0 | 0 | ++----------+------+-----------+-----+--------------+--------+ + + +2. Global Clock Resources +------------------------- + ++-----------+-----------+-----------------+------------+---------------+--------------+-------------------+-------------+-----------------+--------------+-------+----------------------+---------------+ +| Global Id | Source Id | Driver Type/Pin | Constraint | Site | Clock Region | Load Clock Region | Clock Loads | Non-Clock Loads | Clock Period | Clock | Driver Pin | Net | ++-----------+-----------+-----------------+------------+---------------+--------------+-------------------+-------------+-----------------+--------------+-------+----------------------+---------------+ +| g0 | src0 | BUFG/O | None | BUFGCTRL_X0Y0 | n/a | 1 | 3 | 0 | | | clk_IBUF_BUFG_inst/O | clk_IBUF_BUFG | ++-----------+-----------+-----------------+------------+---------------+--------------+-------------------+-------------+-----------------+--------------+-------+----------------------+---------------+ +* Clock Loads column represents the clock pin loads (pin count) +** Non-Clock Loads column represents the non-clock pin loads (pin count) + + +3. Global Clock Source Details +------------------------------ + ++-----------+-----------+-----------------+------------+-----------+--------------+-------------+-----------------+---------------------+--------------+-----------------+----------+ +| Source Id | Global Id | Driver Type/Pin | Constraint | Site | Clock Region | Clock Loads | Non-Clock Loads | Source Clock Period | Source Clock | Driver Pin | Net | ++-----------+-----------+-----------------+------------+-----------+--------------+-------------+-----------------+---------------------+--------------+-----------------+----------+ +| src0 | g0 | IBUF/O | None | IOB_X0Y78 | X0Y1 | 1 | 0 | | | clk_IBUF_inst/O | clk_IBUF | ++-----------+-----------+-----------------+------------+-----------+--------------+-------------+-----------------+---------------------+--------------+-----------------+----------+ +* Clock Loads column represents the clock pin loads (pin count) +** Non-Clock Loads column represents the non-clock pin loads (pin count) + + +4. Clock Regions: Key Resource Utilization +------------------------------------------ + ++-------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ +| | Global Clock | BUFRs | BUFMRs | BUFIOs | MMCM | PLL | GT | PCI | ILOGIC | OLOGIC | FF | LUTM | RAMB18 | RAMB36 | DSP48E2 | ++-------------------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+ +| Clock Region Name | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | Used | Avail | ++-------------------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+ +| X0Y0 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2800 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | +| X1Y0 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2700 | 0 | 950 | 0 | 80 | 0 | 40 | 0 | 60 | +| X0Y1 | 1 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 3 | 2800 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | +| X1Y1 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2700 | 0 | 950 | 0 | 80 | 0 | 40 | 0 | 60 | +| X0Y2 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2200 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | +| X1Y2 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2700 | 0 | 950 | 0 | 80 | 0 | 40 | 0 | 60 | +| X0Y3 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2200 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | +| X1Y3 | 0 | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2150 | 0 | 800 | 0 | 50 | 0 | 25 | 0 | 60 | +| X0Y4 | 0 | 12 | 0 | 4 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 50 | 0 | 50 | 0 | 2800 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | +| X1Y4 | 0 | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2300 | 0 | 850 | 0 | 60 | 0 | 30 | 0 | 60 | ++-------------------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+------+-------+ +* Global Clock column represents track count; while other columns represents cell counts + + +5. Clock Regions : Global Clock Summary +--------------------------------------- + +All Modules ++----+----+----+ +| | X0 | X1 | ++----+----+----+ +| Y4 | 0 | 0 | +| Y3 | 0 | 0 | +| Y2 | 0 | 0 | +| Y1 | 1 | 0 | +| Y0 | 0 | 0 | ++----+----+----+ + + +6. Device Cell Placement Summary for Global Clock g0 +---------------------------------------------------- + ++-----------+-----------------+-------------------+-------+-------------+---------------+-------------+----------+----------------+----------+---------------+ +| Global Id | Driver Type/Pin | Driver Region (D) | Clock | Period (ns) | Waveform (ns) | Slice Loads | IO Loads | Clocking Loads | GT Loads | Net | ++-----------+-----------------+-------------------+-------+-------------+---------------+-------------+----------+----------------+----------+---------------+ +| g0 | BUFG/O | n/a | | | | 3 | 0 | 0 | 0 | clk_IBUF_BUFG | ++-----------+-----------------+-------------------+-------+-------------+---------------+-------------+----------+----------------+----------+---------------+ +* Logic Loads column represents load cell count of all cell types other than IO, GT and clock resources +** IO Loads column represents load cell count of IO types +*** Clocking Loads column represents load cell count that are clock resources (global clock buffer, MMCM, PLL, etc) +**** GT Loads column represents load cell count of GT types + + ++----+----+----+ +| | X0 | X1 | ++----+----+----+ +| Y4 | 0 | 0 | +| Y3 | 0 | 0 | +| Y2 | 0 | 0 | +| Y1 | 3 | 0 | +| Y0 | 0 | 0 | ++----+----+----+ + + +7. Clock Region Cell Placement per Global Clock: Region X0Y1 +------------------------------------------------------------ + ++-----------+-------+-----------------+------------+-------------+-----------------+----+--------+------+-----+----+------+-----+---------+---------------+ +| Global Id | Track | Driver Type/Pin | Constraint | Clock Loads | Non-Clock Loads | FF | LUTRAM | RAMB | DSP | GT | MMCM | PLL | Hard IP | Net | ++-----------+-------+-----------------+------------+-------------+-----------------+----+--------+------+-----+----+------+-----+---------+---------------+ +| g0 | n/a | BUFG/O | None | 3 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | clk_IBUF_BUFG | ++-----------+-------+-----------------+------------+-------------+-----------------+----+--------+------+-----+----+------+-----+---------+---------------+ +* Clock Loads column represents the clock pin loads (pin count) +** Non-Clock Loads column represents the non-clock pin loads (pin count) +*** Columns FF, LUTRAM, RAMB through 'Hard IP' represents load cell counts + + + +# Location of BUFG Primitives +set_property LOC BUFGCTRL_X0Y0 [get_cells clk_IBUF_BUFG_inst] + +# Location of IO Primitives which is load of clock spine + +# Location of clock ports +set_property LOC IOB_X0Y78 [get_ports clk] + +# Clock net "clk_IBUF_BUFG" driven by instance "clk_IBUF_BUFG_inst" located at site "BUFGCTRL_X0Y0" +#startgroup +create_pblock {CLKAG_clk_IBUF_BUFG} +add_cells_to_pblock [get_pblocks {CLKAG_clk_IBUF_BUFG}] [get_cells -filter { PRIMITIVE_GROUP != I/O && IS_PRIMITIVE==1 && PRIMITIVE_LEVEL !=INTERNAL } -of_object [get_pins -filter {DIRECTION==IN} -of_objects [get_nets -hierarchical -filter {PARENT=="clk_IBUF_BUFG"}]]] +resize_pblock [get_pblocks {CLKAG_clk_IBUF_BUFG}] -add {CLOCKREGION_X0Y1:CLOCKREGION_X0Y1} +#endgroup diff --git a/lab2CA.runs/impl_1/CPU9bits_control_sets_placed.rpt b/lab2CA.runs/impl_1/CPU9bits_control_sets_placed.rpt new file mode 100644 index 0000000..3fc76ab --- /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 : Wed Mar 20 10:54:50 2019 +| Host : DESKTOP-8QFGS52 running 64-bit major release (build 9200) +| Command : report_control_sets -verbose -file CPU9bits_control_sets_placed.rpt +| Design : CPU9bits +| Device : xc7k160ti +------------------------------------------------------------------------------------- + +Control Set Information + +Table of Contents +----------------- +1. Summary +2. Histogram +3. Flip-Flop Distribution +4. Detailed Control Set Information + +1. Summary +---------- + ++----------------------------------------------------------+-------+ +| Status | Count | ++----------------------------------------------------------+-------+ +| Number of unique control sets | 1 | +| Unused register locations in slices containing registers | 5 | ++----------------------------------------------------------+-------+ + + +2. Histogram +------------ + ++--------+--------------+ +| Fanout | Control Sets | ++--------+--------------+ +| 3 | 1 | ++--------+--------------+ + + +3. Flip-Flop Distribution +------------------------- + ++--------------+-----------------------+------------------------+-----------------+--------------+ +| Clock Enable | Synchronous Set/Reset | Asynchronous Set/Reset | Total Registers | Total Slices | ++--------------+-----------------------+------------------------+-----------------+--------------+ +| No | No | No | 3 | 1 | +| No | No | Yes | 0 | 0 | +| No | Yes | No | 0 | 0 | +| Yes | No | No | 0 | 0 | +| Yes | No | Yes | 0 | 0 | +| Yes | Yes | No | 0 | 0 | ++--------------+-----------------------+------------------------+-----------------+--------------+ + + +4. Detailed Control Set Information +----------------------------------- + ++----------------+---------------+------------------+------------------+----------------+ +| Clock Signal | Enable Signal | Set/Reset Signal | Slice Load Count | Bel Load Count | ++----------------+---------------+------------------+------------------+----------------+ +| clk_IBUF_BUFG | | | 1 | 3 | ++----------------+---------------+------------------+------------------+----------------+ + + diff --git a/lab2CA.runs/impl_1/CPU9bits_drc_opted.pb b/lab2CA.runs/impl_1/CPU9bits_drc_opted.pb 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..78ca514 --- /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 : Wed Mar 20 10:54:50 2019 +| Host : DESKTOP-8QFGS52 running 64-bit major release (build 9200) +| Command : report_io -file CPU9bits_io_placed.rpt +| Design : CPU9bits +| Device : xc7k160ti +| Speed File : -2L +| Package : fbg484 +| Package Version : FINAL 2012-06-26 +| Package Pin Delay Version : VERS. 2.0 2012-06-26 +------------------------------------------------------------------------------------------------- + +IO Information + +Table of Contents +----------------- +1. Summary +2. IO Assignments by Package Pin + +1. Summary +---------- + ++---------------+ +| Total User IO | ++---------------+ +| 3 | ++---------------+ + + +2. IO Assignments by Package Pin +-------------------------------- + ++------------+-------------+------------------+------------------------------+---------------+-------------+---------+------------+------+---------------------+----------------------+-----------+------------+-----------+----------+------+------------------+--------------+-------------------+--------------+ +| Pin Number | Signal Name | Bank Type | Pin Name | Use | IO Standard | IO Bank | Drive (mA) | Slew | On-Chip Termination | Off-Chip Termination | Voltage | Constraint | Pull Type | DQS Bias | Vref | Signal Integrity | Pre Emphasis | Lvds Pre Emphasis | Equalization | ++------------+-------------+------------------+------------------------------+---------------+-------------+---------+------------+------+---------------------+----------------------+-----------+------------+-----------+----------+------+------------------+--------------+-------------------+--------------+ +| A1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| A2 | | | MGTAVTT | Gigabit Power | | | | | | | | | | | | | | | | +| A3 | | | MGTXTXN3_115 | Gigabit | | | | | | | | | | | | | | | | +| A4 | | | MGTXTXP3_115 | Gigabit | | | | | | | | | | | | | | | | +| A5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| A6 | | | MGTAVCC | Gigabit Power | | | | | | | | | | | | | | | | +| A7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| A8 | | High Range | IO_L21N_T3_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | +| A9 | | High Range | IO_L21P_T3_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | +| A10 | | High Range | IO_L23N_T3_16 | User IO | | 16 | | | | | | | | | | | | | | +| A11 | | High Range | IO_L23P_T3_16 | User IO | | 16 | | | | | | | | | | | | | | +| A12 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| A13 | | High Range | IO_L4P_T0_AD9P_15 | User IO | | 15 | | | | | | | | | | | | | | +| A14 | | High Range | IO_L4N_T0_AD9N_15 | User IO | | 15 | | | | | | | | | | | | | | +| A15 | | High Range | IO_L9N_T1_DQS_AD11N_15 | User IO | | 15 | | | | | | | | | | | | | | +| A16 | | High Range | IO_L8N_T1_AD3N_15 | User IO | | 15 | | | | | | | | | | | | | | +| A17 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | +| A18 | | High Range | IO_L10N_T1_AD4N_15 | User IO | | 15 | | | | | | | | | | | | | | +| A19 | | High Range | IO_L20N_T3_A19_15 | User IO | | 15 | | | | | | | | | | | | | | +| A20 | | High Range | IO_L22P_T3_A17_15 | User IO | | 15 | | | | | | | | | | | | | | +| A21 | | High Range | IO_L22N_T3_A16_15 | User IO | | 15 | | | | | | | | | | | | | | +| A22 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| AA1 | | High Performance | IO_L22P_T3_34 | User IO | | 34 | | | | | | | | | | | | | | +| AA2 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| AA3 | | High Performance | IO_L23P_T3_34 | User IO | | 34 | | | | | | | | | | | | | | +| AA4 | | High Performance | IO_L24P_T3_34 | User IO | | 34 | | | | | | | | | | | | | | +| AA5 | | High Performance | IO_L1P_T0_33 | User IO | | 33 | | | | | | | | | | | | | | +| AA6 | | High Performance | IO_L3P_T0_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | +| AA7 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | +| AA8 | | High Performance | IO_L5N_T0_33 | User IO | | 33 | | | | | | | | | | | | | | +| AA9 | | High Performance | IO_L5P_T0_33 | User IO | | 33 | | | | | | | | | | | | | | +| AA10 | | High Performance | IO_L4P_T0_33 | User IO | | 33 | | | | | | | | | | | | | | +| AA11 | | High Performance | IO_L20P_T3_33 | User IO | | 33 | | | | | | | | | | | | | | +| AA12 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| AA13 | | High Performance | IO_L21N_T3_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | +| AA14 | | High Range | IO_L18P_T2_13 | User IO | | 13 | | | | | | | | | | | | | | +| AA15 | | High Range | IO_L18N_T2_13 | User IO | | 13 | | | | | | | | | | | | | | +| AA16 | | High Range | IO_L17P_T2_13 | User IO | | 13 | | | | | | | | | | | | | | +| AA17 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | +| AA18 | | High Range | IO_L15P_T2_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | +| AA19 | | High Range | IO_L10P_T1_13 | User IO | | 13 | | | | | | | | | | | | | | +| AA20 | | High Range | IO_L8P_T1_13 | User IO | | 13 | | | | | | | | | | | | | | +| AA21 | | High Range | IO_L9P_T1_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | +| AA22 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| AB1 | | High Performance | IO_L22N_T3_34 | User IO | | 34 | | | | | | | | | | | | | | +| AB2 | | High Performance | IO_L23N_T3_34 | User IO | | 34 | | | | | | | | | | | | | | +| AB3 | | High Performance | IO_L24N_T3_34 | User IO | | 34 | | | | | | | | | | | | | | +| AB4 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | +| AB5 | | High Performance | IO_L1N_T0_33 | User IO | | 33 | | | | | | | | | | | | | | +| AB6 | | High Performance | IO_L3N_T0_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | +| AB7 | | High Performance | IO_L2N_T0_33 | User IO | | 33 | | | | | | | | | | | | | | +| AB8 | | High Performance | IO_L2P_T0_33 | User IO | | 33 | | | | | | | | | | | | | | +| AB9 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| AB10 | | High Performance | IO_L4N_T0_33 | User IO | | 33 | | | | | | | | | | | | | | +| AB11 | | High Performance | IO_L20N_T3_33 | User IO | | 33 | | | | | | | | | | | | | | +| AB12 | | High Performance | IO_L22N_T3_33 | User IO | | 33 | | | | | | | | | | | | | | +| AB13 | | High Performance | IO_L22P_T3_33 | User IO | | 33 | | | | | | | | | | | | | | +| AB14 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | +| AB15 | | High Range | IO_L16P_T2_13 | User IO | | 13 | | | | | | | | | | | | | | +| AB16 | | High Range | IO_L16N_T2_13 | User IO | | 13 | | | | | | | | | | | | | | +| AB17 | | High Range | IO_L17N_T2_13 | User IO | | 13 | | | | | | | | | | | | | | +| AB18 | | High Range | IO_L15N_T2_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | +| AB19 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| AB20 | | High Range | IO_L10N_T1_13 | User IO | | 13 | | | | | | | | | | | | | | +| AB21 | | High Range | IO_L8N_T1_13 | User IO | | 13 | | | | | | | | | | | | | | +| AB22 | | High Range | IO_L9N_T1_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | +| B1 | | | MGTXTXN2_115 | Gigabit | | | | | | | | | | | | | | | | +| B2 | | | MGTXTXP2_115 | Gigabit | | | | | | | | | | | | | | | | +| B3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| B4 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| B5 | | | MGTXRXN3_115 | Gigabit | | | | | | | | | | | | | | | | +| B6 | | | MGTXRXP3_115 | Gigabit | | | | | | | | | | | | | | | | +| B7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| B8 | | High Range | IO_L22N_T3_16 | User IO | | 16 | | | | | | | | | | | | | | +| B9 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| B10 | | High Range | IO_L20N_T3_16 | User IO | | 16 | | | | | | | | | | | | | | +| B11 | | High Range | IO_L20P_T3_16 | User IO | | 16 | | | | | | | | | | | | | | +| B12 | | High Range | IO_L2N_T0_AD8N_15 | User IO | | 15 | | | | | | | | | | | | | | +| B13 | | High Range | IO_L5N_T0_AD2N_15 | User IO | | 15 | | | | | | | | | | | | | | +| B14 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | +| B15 | | High Range | IO_L9P_T1_DQS_AD11P_15 | User IO | | 15 | | | | | | | | | | | | | | +| B16 | | High Range | IO_L8P_T1_AD3P_15 | User IO | | 15 | | | | | | | | | | | | | | +| B17 | | High Range | IO_L10P_T1_AD4P_15 | User IO | | 15 | | | | | | | | | | | | | | +| B18 | | High Range | IO_L20P_T3_A20_15 | User IO | | 15 | | | | | | | | | | | | | | +| B19 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| B20 | | High Range | IO_L24P_T3_RS1_15 | User IO | | 15 | | | | | | | | | | | | | | +| B21 | | High Range | IO_L24N_T3_RS0_15 | User IO | | 15 | | | | | | | | | | | | | | +| B22 | | High Range | IO_L21N_T3_DQS_A18_15 | User IO | | 15 | | | | | | | | | | | | | | +| C1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| C2 | | | MGTAVTT | Gigabit Power | | | | | | | | | | | | | | | | +| C3 | | | MGTXRXN2_115 | Gigabit | | | | | | | | | | | | | | | | +| C4 | | | MGTXRXP2_115 | Gigabit | | | | | | | | | | | | | | | | +| C5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| C6 | | | MGTAVCC | Gigabit Power | | | | | | | | | | | | | | | | +| C7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| C8 | | High Range | IO_L22P_T3_16 | User IO | | 16 | | | | | | | | | | | | | | +| C9 | | High Range | IO_L19N_T3_VREF_16 | User IO | | 16 | | | | | | | | | | | | | | +| C10 | | High Range | IO_L7N_T1_16 | User IO | | 16 | | | | | | | | | | | | | | +| C11 | | High Range | VCCO_16 | VCCO | | 16 | | | | | any** | | | | | | | | | +| C12 | | High Range | IO_L2P_T0_AD8P_15 | User IO | | 15 | | | | | | | | | | | | | | +| C13 | | High Range | IO_L5P_T0_AD2P_15 | User IO | | 15 | | | | | | | | | | | | | | +| C14 | | High Range | IO_L7P_T1_AD10P_15 | User IO | | 15 | | | | | | | | | | | | | | +| C15 | | High Range | IO_L7N_T1_AD10N_15 | User IO | | 15 | | | | | | | | | | | | | | +| C16 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| C17 | | High Range | IO_L12P_T1_MRCC_AD5P_15 | User IO | | 15 | | | | | | | | | | | | | | +| C18 | | High Range | IO_L12N_T1_MRCC_AD5N_15 | User IO | | 15 | | | | | | | | | | | | | | +| C19 | | High Range | IO_L19P_T3_A22_15 | User IO | | 15 | | | | | | | | | | | | | | +| C20 | | High Range | IO_L19N_T3_A21_VREF_15 | User IO | | 15 | | | | | | | | | | | | | | +| C21 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | +| C22 | | High Range | IO_L21P_T3_DQS_15 | User IO | | 15 | | | | | | | | | | | | | | +| D1 | | | MGTXTXN1_115 | Gigabit | | | | | | | | | | | | | | | | +| D2 | | | MGTXTXP1_115 | Gigabit | | | | | | | | | | | | | | | | +| D3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| D4 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| D5 | | | MGTREFCLK0N_115 | Gigabit | | | | | | | | | | | | | | | | +| D6 | | | MGTREFCLK0P_115 | Gigabit | | | | | | | | | | | | | | | | +| D7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| D8 | | High Range | VCCO_16 | VCCO | | 16 | | | | | any** | | | | | | | | | +| D9 | | High Range | IO_L19P_T3_16 | User IO | | 16 | | | | | | | | | | | | | | +| D10 | | High Range | IO_L7P_T1_16 | User IO | | 16 | | | | | | | | | | | | | | +| D11 | | High Range | IO_L12N_T1_MRCC_16 | User IO | | 16 | | | | | | | | | | | | | | +| D12 | | High Range | IO_0_15 | User IO | | 15 | | | | | | | | | | | | | | +| D13 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| D14 | | High Range | IO_L6N_T0_VREF_15 | User IO | | 15 | | | | | | | | | | | | | | +| D15 | | High Range | IO_L11P_T1_SRCC_AD12P_15 | User IO | | 15 | | | | | | | | | | | | | | +| D16 | | High Range | IO_L11N_T1_SRCC_AD12N_15 | User IO | | 15 | | | | | | | | | | | | | | +| D17 | | High Range | IO_L14N_T2_SRCC_15 | User IO | | 15 | | | | | | | | | | | | | | +| D18 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | +| D19 | | High Range | IO_L18P_T2_A24_15 | User IO | | 15 | | | | | | | | | | | | | | +| D20 | | High Range | IO_L18N_T2_A23_15 | User IO | | 15 | | | | | | | | | | | | | | +| D21 | | High Range | IO_L23P_T3_FOE_B_15 | User IO | | 15 | | | | | | | | | | | | | | +| D22 | | High Range | IO_L23N_T3_FWE_B_15 | User IO | | 15 | | | | | | | | | | | | | | +| E1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| E2 | | | MGTAVTT | Gigabit Power | | | | | | | | | | | | | | | | +| E3 | | | MGTXRXN1_115 | Gigabit | | | | | | | | | | | | | | | | +| E4 | | | MGTXRXP1_115 | Gigabit | | | | | | | | | | | | | | | | +| E5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| E6 | | | MGTAVCC | Gigabit Power | | | | | | | | | | | | | | | | +| E7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| E8 | | High Range | IO_24_T3_16 | User IO | | 16 | | | | | | | | | | | | | | +| E9 | | High Range | IO_L15N_T2_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | +| E10 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| E11 | | High Range | IO_L12P_T1_MRCC_16 | User IO | | 16 | | | | | | | | | | | | | | +| E12 | | High Range | IO_L10N_T1_16 | User IO | | 16 | | | | | | | | | | | | | | +| E13 | | High Range | IO_L10P_T1_16 | User IO | | 16 | | | | | | | | | | | | | | +| E14 | | High Range | IO_L6P_T0_15 | User IO | | 15 | | | | | | | | | | | | | | +| E15 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | +| E16 | | High Range | IO_L14P_T2_SRCC_15 | User IO | | 15 | | | | | | | | | | | | | | +| E17 | | High Range | IO_L13P_T2_MRCC_15 | User IO | | 15 | | | | | | | | | | | | | | +| E18 | | High Range | IO_L13N_T2_MRCC_15 | User IO | | 15 | | | | | | | | | | | | | | +| E19 | | High Range | IO_L17N_T2_A25_15 | User IO | | 15 | | | | | | | | | | | | | | +| E20 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| E21 | | High Range | IO_L7P_T1_D09_14 | User IO | | 14 | | | | | | | | | | | | | | +| E22 | | High Range | IO_L7N_T1_D10_14 | User IO | | 14 | | | | | | | | | | | | | | +| F1 | | | MGTXTXN0_115 | Gigabit | | | | | | | | | | | | | | | | +| F2 | | | MGTXTXP0_115 | Gigabit | | | | | | | | | | | | | | | | +| F3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| F4 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| F5 | | | MGTREFCLK1N_115 | Gigabit | | | | | | | | | | | | | | | | +| F6 | | | MGTREFCLK1P_115 | Gigabit | | | | | | | | | | | | | | | | +| F7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| F8 | | High Range | IO_L17N_T2_16 | User IO | | 16 | | | | | | | | | | | | | | +| F9 | | High Range | IO_L15P_T2_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | +| F10 | | High Range | IO_L11N_T1_SRCC_16 | User IO | | 16 | | | | | | | | | | | | | | +| F11 | | High Range | IO_L11P_T1_SRCC_16 | User IO | | 16 | | | | | | | | | | | | | | +| F12 | | High Range | VCCO_16 | VCCO | | 16 | | | | | any** | | | | | | | | | +| F13 | | High Range | IO_L8N_T1_16 | User IO | | 16 | | | | | | | | | | | | | | +| F14 | | High Range | IO_6_T0_VREF_16 | User IO | | 16 | | | | | | | | | | | | | | +| F15 | | High Range | IO_L3P_T0_DQS_AD1P_15 | User IO | | 15 | | | | | | | | | | | | | | +| F16 | | High Range | IO_L3N_T0_DQS_AD1N_15 | User IO | | 15 | | | | | | | | | | | | | | +| F17 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| F18 | | High Range | IO_L17P_T2_A26_15 | User IO | | 15 | | | | | | | | | | | | | | +| F19 | | High Range | IO_L2N_T0_D03_14 | User IO | | 14 | | | | | | | | | | | | | | +| F20 | | High Range | IO_L4N_T0_D05_14 | User IO | | 14 | | | | | | | | | | | | | | +| F21 | | High Range | IO_L9N_T1_DQS_D13_14 | User IO | | 14 | | | | | | | | | | | | | | +| F22 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | +| G1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| G2 | | | MGTAVTT | Gigabit Power | | | | | | | | | | | | | | | | +| G3 | | | MGTXRXN0_115 | Gigabit | | | | | | | | | | | | | | | | +| G4 | | | MGTXRXP0_115 | Gigabit | | | | | | | | | | | | | | | | +| G5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| G6 | | | MGTAVCC | Gigabit Power | | | | | | | | | | | | | | | | +| G7 | | Dedicated | CCLK_0 | Config | | 0 | | | | | | | | | | | | | | +| G8 | | High Range | IO_L17P_T2_16 | User IO | | 16 | | | | | | | | | | | | | | +| G9 | | High Range | VCCO_16 | VCCO | | 16 | | | | | any** | | | | | | | | | +| G10 | | High Range | IO_L13N_T2_MRCC_16 | User IO | | 16 | | | | | | | | | | | | | | +| G11 | | High Range | IO_L13P_T2_MRCC_16 | User IO | | 16 | | | | | | | | | | | | | | +| G12 | | High Range | IO_L14N_T2_SRCC_16 | User IO | | 16 | | | | | | | | | | | | | | +| G13 | | High Range | IO_L8P_T1_16 | User IO | | 16 | | | | | | | | | | | | | | +| G14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| G15 | | High Range | IO_L1P_T0_AD0P_15 | User IO | | 15 | | | | | | | | | | | | | | +| G16 | | High Range | IO_L1N_T0_AD0N_15 | User IO | | 15 | | | | | | | | | | | | | | +| G17 | | High Range | IO_L15N_T2_DQS_ADV_B_15 | User IO | | 15 | | | | | | | | | | | | | | +| G18 | | High Range | IO_L2P_T0_D02_14 | User IO | | 14 | | | | | | | | | | | | | | +| G19 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | +| G20 | | High Range | IO_L4P_T0_D04_14 | User IO | | 14 | | | | | | | | | | | | | | +| G21 | | High Range | IO_L9P_T1_DQS_14 | User IO | | 14 | | | | | | | | | | | | | | +| G22 | | High Range | IO_L8N_T1_D12_14 | User IO | | 14 | | | | | | | | | | | | | | +| H1 | | | MGTAVTTRCAL_115 | Gigabit | | | | | | | | | | | | | | | | +| H2 | | | MGTRREF_115 | Gigabit | | | | | | | | | | | | | | | | +| H3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| H4 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| H5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| H6 | | Dedicated | M1_0 | Config | | 0 | | | | | | | | | | | | | | +| H7 | | Dedicated | M0_0 | Config | | 0 | | | | | | | | | | | | | | +| H8 | | High Range | IO_L16N_T2_16 | User IO | | 16 | | | | | | | | | | | | | | +| H9 | | High Range | IO_L16P_T2_16 | User IO | | 16 | | | | | | | | | | | | | | +| H10 | | High Range | IO_18_T2_16 | User IO | | 16 | | | | | | | | | | | | | | +| H11 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| H12 | | High Range | IO_L14P_T2_SRCC_16 | User IO | | 16 | | | | | | | | | | | | | | +| H13 | | High Range | IO_L9N_T1_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | +| H14 | | High Range | IO_L9P_T1_DQS_16 | User IO | | 16 | | | | | | | | | | | | | | +| H15 | | High Range | IO_25_15 | User IO | | 15 | | | | | | | | | | | | | | +| H16 | | High Range | VCCO_15 | VCCO | | 15 | | | | | any** | | | | | | | | | +| H17 | | High Range | IO_L15P_T2_DQS_15 | User IO | | 15 | | | | | | | | | | | | | | +| H18 | | High Range | IO_L1P_T0_D00_MOSI_14 | User IO | | 14 | | | | | | | | | | | | | | +| H19 | | High Range | IO_L1N_T0_D01_DIN_14 | User IO | | 14 | | | | | | | | | | | | | | +| H20 | | High Range | IO_L11N_T1_SRCC_14 | User IO | | 14 | | | | | | | | | | | | | | +| H21 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| H22 | | High Range | IO_L8P_T1_D11_14 | User IO | | 14 | | | | | | | | | | | | | | +| J1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| J2 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| J3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| J4 | | | MGTVCCAUX | Gigabit Power | | | | | | | | | | | | | | | | +| J5 | | Dedicated | M2_0 | Config | | 0 | | | | | | | | | | | | | | +| J6 | | Dedicated | TDO_0 | Config | | 0 | | | | | | | | | | | | | | +| J7 | | Dedicated | VCCO_0 | VCCO | | 0 | | | | | any** | | | | | | | | | +| J8 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| J9 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| J10 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| J11 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| J12 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| J13 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| J14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| J15 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| J16 | | High Range | IO_L16P_T2_A28_15 | User IO | | 15 | | | | | | | | | | | | | | +| J17 | | High Range | IO_L16N_T2_A27_15 | User IO | | 15 | | | | | | | | | | | | | | +| J18 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| J19 | | High Range | IO_L3N_T0_DQS_EMCCLK_14 | User IO | | 14 | | | | | | | | | | | | | | +| J20 | | High Range | IO_L11P_T1_SRCC_14 | User IO | | 14 | | | | | | | | | | | | | | +| J21 | | High Range | IO_L10P_T1_D14_14 | User IO | | 14 | | | | | | | | | | | | | | +| J22 | | High Range | IO_L10N_T1_D15_14 | User IO | | 14 | | | | | | | | | | | | | | +| K1 | | High Performance | IO_L2P_T0_34 | User IO | | 34 | | | | | | | | | | | | | | +| K2 | | High Performance | IO_L4N_T0_34 | User IO | | 34 | | | | | | | | | | | | | | +| K3 | | High Performance | IO_L4P_T0_34 | User IO | | 34 | | | | | | | | | | | | | | +| K4 | | High Performance | IO_0_VRN_34 | User IO | | 34 | | | | | | | | | | | | | | +| K5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| K6 | | Dedicated | TDI_0 | Config | | 0 | | | | | | | | | | | | | | +| K7 | | Dedicated | TCK_0 | Config | | 0 | | | | | | | | | | | | | | +| K8 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| K9 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| K10 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | +| K11 | | Dedicated | GNDADC_0 | XADC | | 0 | | | | | | | | | | | | | | +| K12 | | Dedicated | VCCADC_0 | XADC | | 0 | | | | | | | | | | | | | | +| K13 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| K14 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| K15 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| K16 | | High Range | IO_0_14 | User IO | | 14 | | | | | | | | | | | | | | +| K17 | | High Range | IO_L6N_T0_D08_VREF_14 | User IO | | 14 | | | | | | | | | | | | | | +| K18 | | High Range | IO_L3P_T0_DQS_PUDC_B_14 | User IO | | 14 | | | | | | | | | | | | | | +| K19 | | High Range | IO_L5N_T0_D07_14 | User IO | | 14 | | | | | | | | | | | | | | +| K20 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | +| K21 | | High Range | IO_L16P_T2_CSI_B_14 | User IO | | 14 | | | | | | | | | | | | | | +| K22 | | High Range | IO_L16N_T2_A15_D31_14 | User IO | | 14 | | | | | | | | | | | | | | +| L1 | | High Performance | IO_L2N_T0_34 | User IO | | 34 | | | | | | | | | | | | | | +| L2 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| L3 | | High Performance | IO_L1P_T0_34 | User IO | | 34 | | | | | | | | | | | | | | +| L4 | | High Performance | IO_L6N_T0_VREF_34 | User IO | | 34 | | | | | | | | | | | | | | +| L5 | | High Performance | IO_L6P_T0_34 | User IO | | 34 | | | | | | | | | | | | | | +| L6 | | Dedicated | TMS_0 | Config | | 0 | | | | | | | | | | | | | | +| L7 | | Dedicated | INIT_B_0 | Config | | 0 | | | | | | | | | | | | | | +| L8 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| L9 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| L10 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| L11 | | Dedicated | VREFN_0 | XADC | | 0 | | | | | | | | | | | | | | +| L12 | | Dedicated | VP_0 | XADC | | 0 | | | | | | | | | | | | | | +| L13 | | | VCCBRAM | VCCBRAM | | | | | | | | | | | | | | | | +| L14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| L15 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| L16 | | High Range | IO_L6P_T0_FCS_B_14 | User IO | | 14 | | | | | | | | | | | | | | +| L17 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | +| L18 | | High Range | IO_L5P_T0_D06_14 | User IO | | 14 | | | | | | | | | | | | | | +| L19 | | High Range | IO_L12P_T1_MRCC_14 | User IO | | 14 | | | | | | | | | | | | | | +| L20 | | High Range | IO_L12N_T1_MRCC_14 | User IO | | 14 | | | | | | | | | | | | | | +| L21 | | High Range | IO_L18N_T2_A11_D27_14 | User IO | | 14 | | | | | | | | | | | | | | +| L22 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| M1 | | High Performance | IO_L3N_T0_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | +| M2 | | High Performance | IO_L3P_T0_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | +| M3 | | High Performance | IO_L1N_T0_34 | User IO | | 34 | | | | | | | | | | | | | | +| M4 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | +| M5 | | High Performance | IO_L9P_T1_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | +| M6 | | Dedicated | PROGRAM_B_0 | Config | | 0 | | | | | | | | | | | | | | +| M7 | | Dedicated | CFGBVS_0 | Config | | 0 | | | | | | | | | | | | | | +| M8 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| M9 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| M10 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | +| M11 | | Dedicated | VN_0 | XADC | | 0 | | | | | | | | | | | | | | +| M12 | | Dedicated | VREFP_0 | XADC | | 0 | | | | | | | | | | | | | | +| M13 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| M14 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| M15 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| M16 | | High Range | IO_25_14 | User IO | | 14 | | | | | | | | | | | | | | +| M17 | | High Range | IO_L14P_T2_SRCC_14 | User IO | | 14 | | | | | | | | | | | | | | +| M18 | | High Range | IO_L14N_T2_SRCC_14 | User IO | | 14 | | | | | | | | | | | | | | +| M19 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| M20 | | High Range | IO_L18P_T2_A12_D28_14 | User IO | | 14 | | | | | | | | | | | | | | +| M21 | | High Range | IO_L17N_T2_A13_D29_14 | User IO | | 14 | | | | | | | | | | | | | | +| M22 | | High Range | IO_L15N_T2_DQS_DOUT_CSO_B_14 | User IO | | 14 | | | | | | | | | | | | | | +| N1 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | +| N2 | | High Performance | IO_L5N_T0_34 | User IO | | 34 | | | | | | | | | | | | | | +| N3 | | High Performance | IO_L5P_T0_34 | User IO | | 34 | | | | | | | | | | | | | | +| N4 | | High Performance | IO_L9N_T1_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | +| N5 | | High Performance | IO_L18P_T2_34 | User IO | | 34 | | | | | | | | | | | | | | +| N6 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| N7 | | Dedicated | VCCO_0 | VCCO | | 0 | | | | | any** | | | | | | | | | +| N8 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| N9 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| N10 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| N11 | | Dedicated | DXN_0 | Temp Sensor | | 0 | | | | | | | | | | | | | | +| N12 | | Dedicated | DXP_0 | Temp Sensor | | 0 | | | | | | | | | | | | | | +| N13 | | | VCCBRAM | VCCBRAM | | | | | | | | | | | | | | | | +| N14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| N15 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| N16 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| N17 | | High Range | IO_L23N_T3_A02_D18_14 | User IO | | 14 | | | | | | | | | | | | | | +| N18 | | High Range | IO_L13P_T2_MRCC_14 | User IO | | 14 | | | | | | | | | | | | | | +| N19 | | High Range | IO_L13N_T2_MRCC_14 | User IO | | 14 | | | | | | | | | | | | | | +| N20 | | High Range | IO_L17P_T2_A14_D30_14 | User IO | | 14 | | | | | | | | | | | | | | +| N21 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | +| N22 | | High Range | IO_L15P_T2_DQS_RDWR_B_14 | User IO | | 14 | | | | | | | | | | | | | | +| P1 | | High Performance | IO_L8P_T1_34 | User IO | | 34 | | | | | | | | | | | | | | +| P2 | | High Performance | IO_L7P_T1_34 | User IO | | 34 | | | | | | | | | | | | | | +| P3 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| P4 | | High Performance | IO_L11P_T1_SRCC_34 | User IO | | 34 | | | | | | | | | | | | | | +| P5 | | High Performance | IO_L18N_T2_34 | User IO | | 34 | | | | | | | | | | | | | | +| P6 | | Dedicated | DONE_0 | Config | | 0 | | | | | | | | | | | | | | +| P7 | | Dedicated | VCCBATT_0 | Config | | 0 | | | | | | | | | | | | | | +| P8 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | +| P9 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| P10 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | +| P11 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| P12 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | +| P13 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| P14 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| P15 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| P16 | | High Range | IO_L23P_T3_A03_D19_14 | User IO | | 14 | | | | | | | | | | | | | | +| P17 | | High Range | IO_L21N_T3_DQS_A06_D22_14 | User IO | | 14 | | | | | | | | | | | | | | +| P18 | | High Range | VCCO_14 | VCCO | | 14 | | | | | any** | | | | | | | | | +| P19 | | High Range | IO_L20P_T3_A08_D24_14 | User IO | | 14 | | | | | | | | | | | | | | +| P20 | | High Range | IO_L20N_T3_A07_D23_14 | User IO | | 14 | | | | | | | | | | | | | | +| P21 | | High Range | IO_L22P_T3_A05_D21_14 | User IO | | 14 | | | | | | | | | | | | | | +| P22 | | High Range | IO_L22N_T3_A04_D20_14 | User IO | | 14 | | | | | | | | | | | | | | +| R1 | | High Performance | IO_L8N_T1_34 | User IO | | 34 | | | | | | | | | | | | | | +| R2 | | High Performance | IO_L7N_T1_34 | User IO | | 34 | | | | | | | | | | | | | | +| R3 | | High Performance | IO_L12P_T1_MRCC_34 | User IO | | 34 | | | | | | | | | | | | | | +| R4 | | High Performance | IO_L11N_T1_SRCC_34 | User IO | | 34 | | | | | | | | | | | | | | +| R5 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | +| R6 | | High Performance | IO_L8N_T1_33 | User IO | | 33 | | | | | | | | | | | | | | +| R7 | | High Performance | IO_L8P_T1_33 | User IO | | 33 | | | | | | | | | | | | | | +| R8 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| R9 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | +| R10 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| R11 | | | VCCAUX | VCCAUX | | | | | | | 1.80 | | | | | | | | | +| R12 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| R13 | | | VCCBRAM | VCCBRAM | | | | | | | | | | | | | | | | +| R14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| R15 | | | VCCINT | VCCINT | | | | | | | | | | | | | | | | +| R16 | | High Range | IO_L20P_T3_13 | User IO | | 13 | | | | | | | | | | | | | | +| R17 | | High Range | IO_L21P_T3_DQS_14 | User IO | | 14 | | | | | | | | | | | | | | +| R18 | | High Range | IO_L19P_T3_A10_D26_14 | User IO | | 14 | | | | | | | | | | | | | | +| R19 | | High Range | IO_L19N_T3_A09_D25_VREF_14 | User IO | | 14 | | | | | | | | | | | | | | +| R20 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| R21 | | High Range | IO_L24P_T3_A01_D17_14 | User IO | | 14 | | | | | | | | | | | | | | +| R22 | | High Range | IO_L24N_T3_A00_D16_14 | User IO | | 14 | | | | | | | | | | | | | | +| T1 | | High Performance | IO_L10P_T1_34 | User IO | | 34 | | | | | | | | | | | | | | +| T2 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | +| T3 | | High Performance | IO_L12N_T1_MRCC_34 | User IO | | 34 | | | | | | | | | | | | | | +| T4 | | High Performance | IO_L13P_T2_MRCC_34 | User IO | | 34 | | | | | | | | | | | | | | +| T5 | | High Performance | IO_L16P_T2_34 | User IO | | 34 | | | | | | | | | | | | | | +| T6 | | High Performance | IO_0_VRN_33 | User IO | | 33 | | | | | | | | | | | | | | +| T7 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| T8 | | High Performance | IO_L18N_T2_33 | User IO | | 33 | | | | | | | | | | | | | | +| T9 | | High Performance | IO_L18P_T2_33 | User IO | | 33 | | | | | | | | | | | | | | +| T10 | | High Performance | IO_L16N_T2_33 | User IO | | 33 | | | | | | | | | | | | | | +| T11 | | High Performance | IO_L16P_T2_33 | User IO | | 33 | | | | | | | | | | | | | | +| T12 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | +| T13 | | High Performance | IO_L24P_T3_33 | User IO | | 33 | | | | | | | | | | | | | | +| T14 | | High Performance | IO_25_VRP_33 | User IO | | 33 | | | | | | | | | | | | | | +| T15 | | High Range | IO_L24P_T3_13 | User IO | | 13 | | | | | | | | | | | | | | +| T16 | | High Range | IO_L20N_T3_13 | User IO | | 13 | | | | | | | | | | | | | | +| T17 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| T18 | | High Range | IO_L3P_T0_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | +| T19 | | High Range | IO_0_13 | User IO | | 13 | | | | | | | | | | | | | | +| T20 | | High Range | IO_L6P_T0_13 | User IO | | 13 | | | | | | | | | | | | | | +| T21 | | High Range | IO_L1P_T0_13 | User IO | | 13 | | | | | | | | | | | | | | +| T22 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | +| U1 | | High Performance | IO_L10N_T1_34 | User IO | | 34 | | | | | | | | | | | | | | +| U2 | | High Performance | IO_L15P_T2_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | +| U3 | | High Performance | IO_L13N_T2_MRCC_34 | User IO | | 34 | | | | | | | | | | | | | | +| U4 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| U5 | | High Performance | IO_L16N_T2_34 | User IO | | 34 | | | | | | | | | | | | | | +| U6 | | High Performance | IO_L10N_T1_33 | User IO | | 33 | | | | | | | | | | | | | | +| U7 | | High Performance | IO_L10P_T1_33 | User IO | | 33 | | | | | | | | | | | | | | +| U8 | | High Performance | IO_L9P_T1_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | +| U9 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | +| U10 | | High Performance | IO_L14P_T2_SRCC_33 | User IO | | 33 | | | | | | | | | | | | | | +| U11 | | High Performance | IO_L17N_T2_33 | User IO | | 33 | | | | | | | | | | | | | | +| U12 | | High Performance | IO_L17P_T2_33 | User IO | | 33 | | | | | | | | | | | | | | +| U13 | | High Performance | IO_L24N_T3_33 | User IO | | 33 | | | | | | | | | | | | | | +| U14 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| U15 | reset | High Range | IO_L24N_T3_13 | INPUT | LVCMOS18* | 13 | | | | NONE | | UNFIXED | | | | NONE | | | | +| U16 | | High Range | IO_L19P_T3_13 | User IO | | 13 | | | | | | | | | | | | | | +| U17 | | High Range | IO_L5P_T0_13 | User IO | | 13 | | | | | | | | | | | | | | +| U18 | | High Range | IO_L3N_T0_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | +| U19 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | +| U20 | | High Range | IO_L6N_T0_VREF_13 | User IO | | 13 | | | | | | | | | | | | | | +| U21 | | High Range | IO_L1N_T0_13 | User IO | | 13 | | | | | | | | | | | | | | +| U22 | | High Range | IO_L2P_T0_13 | User IO | | 13 | | | | | | | | | | | | | | +| V1 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| V2 | | High Performance | IO_L15N_T2_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | +| V3 | | High Performance | IO_L17P_T2_34 | User IO | | 34 | | | | | | | | | | | | | | +| V4 | | High Performance | IO_L14P_T2_SRCC_34 | User IO | | 34 | | | | | | | | | | | | | | +| V5 | | High Performance | IO_25_VRP_34 | User IO | | 34 | | | | | | | | | | | | | | +| V6 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | +| V7 | | High Performance | IO_L11P_T1_SRCC_33 | User IO | | 33 | | | | | | | | | | | | | | +| V8 | | High Performance | IO_L9N_T1_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | +| V9 | | High Performance | IO_L14N_T2_SRCC_33 | User IO | | 33 | | | | | | | | | | | | | | +| V10 | | High Performance | IO_L15P_T2_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | +| V11 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| V12 | | High Performance | IO_L23N_T3_33 | User IO | | 33 | | | | | | | | | | | | | | +| V13 | | High Performance | IO_L23P_T3_33 | User IO | | 33 | | | | | | | | | | | | | | +| V14 | done | High Range | IO_25_13 | OUTPUT | LVCMOS18* | 13 | 12 | SLOW | | FP_VTT_50 | | UNFIXED | | | | NONE | | | | +| V15 | | High Range | IO_L23P_T3_13 | User IO | | 13 | | | | | | | | | | | | | | +| V16 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | +| V17 | | High Range | IO_L19N_T3_VREF_13 | User IO | | 13 | | | | | | | | | | | | | | +| V18 | | High Range | IO_L5N_T0_13 | User IO | | 13 | | | | | | | | | | | | | | +| V19 | | High Range | IO_L12P_T1_MRCC_13 | User IO | | 13 | | | | | | | | | | | | | | +| V20 | clk | High Range | IO_L11P_T1_SRCC_13 | INPUT | LVCMOS18* | 13 | | | | NONE | | UNFIXED | | | | NONE | | | | +| V21 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| V22 | | High Range | IO_L2N_T0_13 | User IO | | 13 | | | | | | | | | | | | | | +| W1 | | High Performance | IO_L20P_T3_34 | User IO | | 34 | | | | | | | | | | | | | | +| W2 | | High Performance | IO_L17N_T2_34 | User IO | | 34 | | | | | | | | | | | | | | +| W3 | | High Performance | VCCO_34 | VCCO | | 34 | | | | | 0.00-1.80 | | | | | | | | | +| W4 | | High Performance | IO_L14N_T2_SRCC_34 | User IO | | 34 | | | | | | | | | | | | | | +| W5 | | High Performance | IO_L19P_T3_34 | User IO | | 34 | | | | | | | | | | | | | | +| W6 | | High Performance | IO_L7P_T1_33 | User IO | | 33 | | | | | | | | | | | | | | +| W7 | | High Performance | IO_L11N_T1_SRCC_33 | User IO | | 33 | | | | | | | | | | | | | | +| W8 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| W9 | | High Performance | IO_L13P_T2_MRCC_33 | User IO | | 33 | | | | | | | | | | | | | | +| W10 | | High Performance | IO_L15N_T2_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | +| W11 | | High Performance | IO_L6P_T0_33 | User IO | | 33 | | | | | | | | | | | | | | +| W12 | | High Performance | IO_L19P_T3_33 | User IO | | 33 | | | | | | | | | | | | | | +| W13 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | +| W14 | | High Range | IO_L22P_T3_13 | User IO | | 13 | | | | | | | | | | | | | | +| W15 | | High Range | IO_L23N_T3_13 | User IO | | 13 | | | | | | | | | | | | | | +| W16 | | High Range | IO_L21P_T3_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | +| W17 | | High Range | IO_L14P_T2_SRCC_13 | User IO | | 13 | | | | | | | | | | | | | | +| W18 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| W19 | | High Range | IO_L12N_T1_MRCC_13 | User IO | | 13 | | | | | | | | | | | | | | +| W20 | | High Range | IO_L11N_T1_SRCC_13 | User IO | | 13 | | | | | | | | | | | | | | +| W21 | | High Range | IO_L4P_T0_13 | User IO | | 13 | | | | | | | | | | | | | | +| W22 | | High Range | IO_L4N_T0_13 | User IO | | 13 | | | | | | | | | | | | | | +| Y1 | | High Performance | IO_L20N_T3_34 | User IO | | 34 | | | | | | | | | | | | | | +| Y2 | | High Performance | IO_L21N_T3_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | +| Y3 | | High Performance | IO_L21P_T3_DQS_34 | User IO | | 34 | | | | | | | | | | | | | | +| Y4 | | High Performance | IO_L19N_T3_VREF_34 | User IO | | 34 | | | | | | | | | | | | | | +| Y5 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| Y6 | | High Performance | IO_L7N_T1_33 | User IO | | 33 | | | | | | | | | | | | | | +| Y7 | | High Performance | IO_L12N_T1_MRCC_33 | User IO | | 33 | | | | | | | | | | | | | | +| Y8 | | High Performance | IO_L12P_T1_MRCC_33 | User IO | | 33 | | | | | | | | | | | | | | +| Y9 | | High Performance | IO_L13N_T2_MRCC_33 | User IO | | 33 | | | | | | | | | | | | | | +| Y10 | | High Performance | VCCO_33 | VCCO | | 33 | | | | | 0.00-1.80 | | | | | | | | | +| Y11 | | High Performance | IO_L6N_T0_VREF_33 | User IO | | 33 | | | | | | | | | | | | | | +| Y12 | | High Performance | IO_L19N_T3_VREF_33 | User IO | | 33 | | | | | | | | | | | | | | +| Y13 | | High Performance | IO_L21P_T3_DQS_33 | User IO | | 33 | | | | | | | | | | | | | | +| Y14 | | High Range | IO_L22N_T3_13 | User IO | | 13 | | | | | | | | | | | | | | +| Y15 | | | GND | GND | | | | | | | 0.0 | | | | | | | | | +| Y16 | | High Range | IO_L21N_T3_DQS_13 | User IO | | 13 | | | | | | | | | | | | | | +| Y17 | | High Range | IO_L14N_T2_SRCC_13 | User IO | | 13 | | | | | | | | | | | | | | +| Y18 | | High Range | IO_L13P_T2_MRCC_13 | User IO | | 13 | | | | | | | | | | | | | | +| Y19 | | High Range | IO_L13N_T2_MRCC_13 | User IO | | 13 | | | | | | | | | | | | | | +| Y20 | | High Range | VCCO_13 | VCCO | | 13 | | | | | 1.80 | | | | | | | | | +| Y21 | | High Range | IO_L7P_T1_13 | User IO | | 13 | | | | | | | | | | | | | | +| Y22 | | High Range | IO_L7N_T1_13 | User IO | | 13 | | | | | | | | | | | | | | ++------------+-------------+------------------+------------------------------+---------------+-------------+---------+------------+------+---------------------+----------------------+-----------+------------+-----------+----------+------+------------------+--------------+-------------------+--------------+ +* Default value +** Special VCCO requirements may apply. Please consult the device family datasheet for specific guideline on VCCO requirements. + + diff --git a/lab2CA.runs/impl_1/CPU9bits_methodology_drc_routed.pb b/lab2CA.runs/impl_1/CPU9bits_methodology_drc_routed.pb new file mode 100644 index 0000000000000000000000000000000000000000..e0f8955b965a8fae888d67ffd231ba8ecfecdc25 GIT binary patch literal 52 zcmd;LGcqtV(=(jJEajV8l98X1pOc?nso + Max violations: + Violations found: 3 ++-----------+----------+-----------------------------+------------+ +| Rule | Severity | Description | Violations | ++-----------+----------+-----------------------------+------------+ +| TIMING-17 | Warning | Non-clocked sequential cell | 3 | ++-----------+----------+-----------------------------+------------+ + +2. REPORT DETAILS +----------------- +TIMING-17#1 Warning +Non-clocked sequential cell +The clock pin FetchU/PC/Dout_reg[0]/C is not reached by a timing clock +Related violations: + +TIMING-17#2 Warning +Non-clocked sequential cell +The clock pin FetchU/PC/Dout_reg[1]/C is not reached by a timing clock +Related violations: + +TIMING-17#3 Warning +Non-clocked sequential cell +The clock pin FetchU/PC/Dout_reg[2]/C is not reached by a timing clock +Related violations: + + diff --git a/lab2CA.runs/impl_1/CPU9bits_opt.dcp b/lab2CA.runs/impl_1/CPU9bits_opt.dcp new file mode 100644 index 0000000000000000000000000000000000000000..671933674f3f020fddeddeb6f6fa41eddbaca6b7 GIT binary patch literal 8284 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 NW{z_9icZ=B{{=n!`a%Ez literal 0 HcmV?d00001 diff --git a/lab2CA.runs/impl_1/CPU9bits_placed.dcp b/lab2CA.runs/impl_1/CPU9bits_placed.dcp new file mode 100644 index 0000000000000000000000000000000000000000..25b333a2bd3e9a1852ecfc33095e487b9670a53d GIT binary patch literal 122670 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঍LMxnw{#Nt&f6Ns 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 q^&JughwYHHZ*l<3J}UZ(uUfhVfF9T$r6 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 + + +1.1 On-Chip Components +---------------------- + ++----------------+-----------+----------+-----------+-----------------+ +| On-Chip | Power (W) | Used | Available | Utilization (%) | ++----------------+-----------+----------+-----------+-----------------+ +| Slice Logic | 0.019 | 10 | --- | --- | +| LUT as Logic | 0.012 | 2 | 101400 | <0.01 | +| BUFG | 0.005 | 1 | 32 | 3.13 | +| Register | 0.001 | 3 | 202800 | <0.01 | +| Others | 0.000 | 2 | --- | --- | +| Signals | 0.018 | 7 | --- | --- | +| I/O | 0.074 | 3 | 285 | 1.05 | +| Static Power | 0.086 | | | | +| Total | 0.198 | | | | ++----------------+-----------+----------+-----------+-----------------+ + + +1.2 Power Supply Summary +------------------------ + ++-----------+-------------+-----------+-------------+------------+ +| Source | Voltage (V) | Total (A) | Dynamic (A) | Static (A) | ++-----------+-------------+-----------+-------------+------------+ +| Vccint | 0.950 | 0.070 | 0.047 | 0.023 | +| Vccaux | 1.800 | 0.022 | 0.005 | 0.016 | +| Vcco33 | 3.300 | 0.000 | 0.000 | 0.000 | +| Vcco25 | 2.500 | 0.000 | 0.000 | 0.000 | +| Vcco18 | 1.800 | 0.033 | 0.032 | 0.001 | +| Vcco15 | 1.500 | 0.000 | 0.000 | 0.000 | +| Vcco135 | 1.350 | 0.000 | 0.000 | 0.000 | +| Vcco12 | 1.200 | 0.000 | 0.000 | 0.000 | +| Vccaux_io | 1.800 | 0.000 | 0.000 | 0.000 | +| Vccbram | 0.950 | 0.001 | 0.000 | 0.001 | +| MGTAVcc | 1.000 | 0.000 | 0.000 | 0.000 | +| MGTAVtt | 1.200 | 0.000 | 0.000 | 0.000 | +| MGTVccaux | 1.800 | 0.000 | 0.000 | 0.000 | +| Vccadc | 1.800 | 0.018 | 0.000 | 0.018 | ++-----------+-------------+-----------+-------------+------------+ + + +1.3 Confidence Level +-------------------- + ++-----------------------------+------------+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ +| User Input Data | Confidence | Details | Action | ++-----------------------------+------------+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ +| Design implementation state | High | Design is routed | | +| Clock nodes activity | Low | User specified less than 75% of clocks | Provide missing clock activity with a constraint file, simulation results or by editing the "By Clock Domain" view | +| I/O nodes activity | Low | More than 75% of inputs are missing user specification | Provide missing input activity with simulation results or by editing the "By Resource Type -> I/Os" view | +| Internal nodes activity | Medium | User specified less than 25% of internal nodes | Provide missing internal nodes activity with simulation results or by editing the "By Resource Type" views | +| Device models | High | Device models are Production | | +| | | | | +| Overall confidence level | Low | | | ++-----------------------------+------------+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------+ + + +2. Settings +----------- + +2.1 Environment +--------------- + ++-----------------------+--------------------------+ +| Ambient Temp (C) | 25.0 | +| ThetaJA (C/W) | 2.5 | +| Airflow (LFM) | 250 | +| Heat Sink | medium (Medium Profile) | +| ThetaSA (C/W) | 4.2 | +| Board Selection | medium (10"x10") | +| # of Board Layers | 12to15 (12 to 15 Layers) | +| Board Temperature (C) | 25.0 | ++-----------------------+--------------------------+ + + +2.2 Clock Constraints +--------------------- + ++-------+--------+-----------------+ +| Clock | Domain | Constraint (ns) | ++-------+--------+-----------------+ + + +3. Detailed Reports +------------------- + +3.1 By Hierarchy +---------------- + ++----------+-----------+ +| Name | Power (W) | ++----------+-----------+ +| CPU9bits | 0.111 | +| FetchU | 0.020 | +| PC | 0.020 | ++----------+-----------+ + + diff --git a/lab2CA.runs/impl_1/CPU9bits_power_summary_routed.pb b/lab2CA.runs/impl_1/CPU9bits_power_summary_routed.pb new file mode 100644 index 0000000000000000000000000000000000000000..7f38109452b6144369a08abf402022016369c20d GIT binary patch literal 722 zcmZ|NF=!M)6b9fKqF0Ck(Mk|AO=4j@lEY}!T=b4pj2eiA#zG~_?%ZYK?##Kfd*=lu zhq9uT5ZI8yDzIRsB5q~n!9qYtA#M{Jjck#^Mz}i8n-fWsEk1r`-tJ?0??A3FGFr%= zUhZ3*5l!k6gBx~BGD)hgaLANXx2Z$9M=ipsXEW*LNy+qBgLy4tQI|E;jV?6>m!4}d z?x}Z~P316=%<*l*V}kcih;T`Rnx1ggwfx^IALZ^=u1zKfS01kx!+wOGm$Sp>=C5LW z1fjWda1^O0)kXvTQ{hB+0HJm%89b3+od|~zdQr+wLQOmj1_dzHM&q~NzAtvi5gI8c z=OBmYA!kZee*sJ;!SEuORlxW%7+e8UZE#&@ZFCcISDVa24)1{3Jutox1{RoVqXo!a zZBmCEJ_NG{7&pP-5twSbEy&3t7(5x>{!)sb;g9>na`F<-o%&tMUg4dcrKMm6kJ00o zqSqJ-J8Kxv{&<5?`yED|Pq^=fXl{MR`>wLu{D%%cRH2g9I8k$Tg|DXhbX}KxUB^SW zq#C=dQc1H`KAiq-4BC z{9PY4^$K*p;oLN}nC~p7IKOApLa(V>BkHPEBwScjZf*YilkfOgg*KR}8mV);*K@`d NmaleF@b*uP{sIOj;+Fsb literal 0 HcmV?d00001 diff --git a/lab2CA.runs/impl_1/CPU9bits_route_status.pb b/lab2CA.runs/impl_1/CPU9bits_route_status.pb new file mode 100644 index 0000000000000000000000000000000000000000..e975e2c327a337d2f493a1e4db639d1b381effb9 GIT binary patch literal 43 ycmd;LGcqtV(leRFEE1GoT9T>|T#{H)TC5OUnwy(gRC$1h;eilCgCxfSc?JLqm<+%G 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..ede565f --- /dev/null +++ b/lab2CA.runs/impl_1/CPU9bits_route_status.rpt @@ -0,0 +1,11 @@ +Design Route Status + : # nets : + ------------------------------------------- : ----------- : + # of logical nets.......................... : 15 : + # of nets not needing routing.......... : 7 : + # of internally routed nets........ : 7 : + # of routable nets..................... : 8 : + # of fully routed nets............. : 8 : + # of nets with routing errors.......... : 0 : + ------------------------------------------- : ----------- : + diff --git a/lab2CA.runs/impl_1/CPU9bits_routed.dcp b/lab2CA.runs/impl_1/CPU9bits_routed.dcp new file mode 100644 index 0000000000000000000000000000000000000000..ef49416aa8450c318dc519a1a25fe46075d72646 GIT binary patch literal 126053 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໪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 pKlw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lab2CA.runs/impl_1/htr.txt b/lab2CA.runs/impl_1/htr.txt 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 index 0d2ab79900c40112f58af7068256c5092d72351a..89f88ee872713fdfa0dabb22d568e7c0c74f7533 100644 GIT binary patch delta 90 zcmcb{bB$+%7c-l=xt@u+`Q`xT3MNLg$*WmqYz$3}*i%x|5=(PRtY8cyX)bnC3nM*C TOC#)(#zsJMObjP0vY7$^ls*{6 delta 78 zcmcb{bB$+%7c;Acfu5P!nwuH1r=+GO YmgbaL!5BtBNn>L}JyR3o$%<^I087#oU;qFB diff --git a/lab2CA.runs/impl_1/opt_design.pb b/lab2CA.runs/impl_1/opt_design.pb index 927ab77a70e07ebeaebbf7738e6dfe6b84883882..f807a890d012dca3bf94333e430143d3f71e2523 100644 GIT binary patch delta 749 zcmX>Sv@>YK0cJ*v$p@JwMNIU}EDaT`719$k^Av0q41rwB$qR+#CiAdtVfN>;ntYhW zki*P8H8IUB*>dtjPVvbitcIcnmOw43If(_usVP8R1_o9@Gl2wwj3z&n zl0>qnl1Gq{*@a7gaxbqMvOPehCTL2t`9c}F{kSY4R+%bHuIHB)#ch>2y8hJyx{SV0LfH{+WcK7Tnd~K{jiQIi+ycpYo1{4z!OD1K(3BaXd3f@B znFO$ZgJhBX+bCOsuy3=DoCzb8J2_ENcygt@9@yQhg;N4 lYHpxAxlu!5Gry`7GZqP5839HqS7$5z(BjmhVtq`VhXJad&0YWi delta 805 zcmdlPbR=lQ0cJ+y$p@JwMJ)6T%#0PR719$k^Av0q4D~E5%qJ%*$W7*9*}@#aWj*;Y ziy^0>sd=(Vicw43Os8MjvNKMWzF3q)4K(#?Z$cxF?0BE!%n}La* zrG>%d1TNjpQXCT)nLW6SC$HtyL~{~YgCUZJ%?VtNjB1u#DiB+Z6@trCQws=LX@q0~ z*ve8KK}Kd*E`!OPylR+MPCmmfjqJcQzEDPHe=e)Z`}hqoRWn&2I}mLAQUP5?W^XRD z$yWt+uxY?>&kmtbb|f45y|_$W^HMVN(iMF2(=(GN3&_Z0n!{)@*?~(6N!#R=th$qf zq}MY8wNGY|(Zf8O!pI7aw#gHfL?-9U>w&$v zKpx$TX!`0EgqRpjCO_m5o;**PlgZE&#N?9U;xIIVo5m&0#cpP3p=V)WIysO1b)PA6kVjWJ0xYBG{GX<~ai=Q1}ml~6*fMKIQd6syc6lNuBeT#K%B zQ4GqbbyvvNjY4)V0{sd718!WEx(R{^-Iz%Y%|bEb?!bAU@A96Pv%S8x{%Kzju#OmI z&=a1E*t6W4r|ICNlkj@t8i(OcR2eD`CJu(jo=}ET_^Z4j-Mn$%dE%)U5fz?=3EY!p z(bLTaHET}4%vIP<#-S8B8@G^-iF!%haGH35c$FC zoLu9p(q(u#NyUcaGTpA*{8Gld zD8hH;PGnVDIE*MoCaB5T;HCIQ3Bi?f)4|D3>b%VH*Ch)I>G|L|$eE}7ie$j6%v?aa zs=nhZk_LNfJ|O9Pw;9QIzFo+1#|976{~F40J4-}T_ZVTdLD>HNe14&Ysq%kNbUG^% zY+{RfY`m!Sdv&DTTIgut&WD*?h}Ue~pFRe6XN2KZv3=63c@G_TzOq=Mx~a`U`{Iuf bv!Rz&ev6tY*ZDI0fP=QI2#4u}CenWaEwOJ* delta 1330 zcmbW1O-~a+7{{}_v1Jz*ZTgaKDRdA@g~jd6?9Of{gy_bX0KSoEJQxwTxZ4sV95@(H znt0F)iSVe27lR+bM6>aT;UjqR188DGyx5B#xJZixJgDv7CX?s)pXd2M|ICZoSF>-w z#bVepcm+cv_Ank)xp|uf;Hp`88lM(1gV(CISFs)6-a9s8E=)Y?(mb2$@3i&n~AgVvuEosR9}){dSEKkAar-C=SQE(lwcOv+-!Pr6AD@` zW7>wp@IGJ?!*Ou9nV1yXu5OyPmK}kw$<=sZao@)nNMi0E`YoIF^c$JlBrttmasJa# z3s}i~=m=QLK7v!JZjm8yvw6rTdb)Vvam#0ZYpbl81;K*VvD{7?xW)Euu!zBJ)_V1> zc3+xQOxV&!WDp~h)Y{R`*Wkj;AdRw0d&rG~>BYe=(+apn zncaSHLUH)IxZ88+9j}QJF$pw|X$Qs_)o&e{URw62YKz|d!czIPi{PdHL#(i7CVv-t P#&Gy)?2aJVe_XO(kCS4w diff --git a/lab2CA.runs/impl_1/route_design.pb b/lab2CA.runs/impl_1/route_design.pb index 7a02ef633ba8ccb2c9e356a2ef9ea38ddfe6a532..2bf8ea86a7fcf7a4e80e7ca6bd25d434831f5c04 100644 GIT binary patch delta 1101 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 literal 0 HcmV?d00001 diff --git a/lab2CA.runs/synth_1/CPU9bits.tcl b/lab2CA.runs/synth_1/CPU9bits.tcl new file mode 100644 index 0000000..fd7a162 --- /dev/null +++ b/lab2CA.runs/synth_1/CPU9bits.tcl @@ -0,0 +1,60 @@ +# +# Synthesis run script generated by Vivado +# + +set TIME_start [clock seconds] +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" + } +} +create_project -in_memory -part xc7k160tifbg484-2L + +set_param project.singleFileAddWarning.threshold 0 +set_param project.compositeFile.enableAutoGeneration 0 +set_param synth.vivado.isSynthRun true +set_property webtalk.parent_dir C:/Users/ecelab/ECE3570-Lab/lab2CA.cache/wt [current_project] +set_property parent.project_path C:/Users/ecelab/ECE3570-Lab/lab2CA.xpr [current_project] +set_property default_lib xil_defaultlib [current_project] +set_property target_language Verilog [current_project] +set_property ip_output_repo c:/Users/ecelab/ECE3570-Lab/lab2CA.cache/ip [current_project] +set_property ip_cache_permissions {read write} [current_project] +read_verilog -library xil_defaultlib { + C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v + C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v + C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ControlUnit.v + C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/FetchUnit.v + C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/RegFile.v + C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v + C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/instructionMemory.v + C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v +} +# Mark all dcp files as not used in implementation to prevent them from being +# stitched into the results of this synthesis run. Any black boxes in the +# design are intentionally left as such for best results. Dcp files will be +# stitched into the design at a later time, either when this synthesis run is +# opened, or when it is stitched into a dependent implementation run. +foreach dcp [get_files -quiet -all -filter file_type=="Design\ Checkpoint"] { + set_property used_in_implementation false $dcp +} +set_param ips.enableIPCacheLiteLoad 1 +close [open __synthesis_is_running__ w] + +synth_design -top CPU9bits -part xc7k160tifbg484-2L + + +# disable binary constraint mode for synth run checkpoints +set_param constraints.enableBinaryConstraints false +write_checkpoint -force -noxdef CPU9bits.dcp +create_report "synth_1_synth_report_utilization_0" "report_utilization -file CPU9bits_utilization_synth.rpt -pb CPU9bits_utilization_synth.pb" +file delete __synthesis_is_running__ +close [open __synthesis_is_complete__ w] diff --git a/lab2CA.runs/synth_1/CPU9bits.vds b/lab2CA.runs/synth_1/CPU9bits.vds new file mode 100644 index 0000000..5b60a73 --- /dev/null +++ b/lab2CA.runs/synth_1/CPU9bits.vds @@ -0,0 +1,494 @@ +#----------------------------------------------------------- +# Vivado v2018.3 (64-bit) +# SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 +# IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 +# Start of session at: Wed Mar 20 10:53:36 2019 +# Process ID: 12136 +# Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1 +# Command line: vivado.exe -log CPU9bits.vds -product Vivado -mode batch -messageDb vivado.pb -notrace -source CPU9bits.tcl +# Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1/CPU9bits.vds +# Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1\vivado.jou +#----------------------------------------------------------- +source CPU9bits.tcl -notrace +Command: synth_design -top CPU9bits -part xc7k160tifbg484-2L +Starting synth_design +Attempting to get a license for feature 'Synthesis' and/or device 'xc7k160ti' +INFO: [Common 17-349] Got license for feature 'Synthesis' and/or device 'xc7k160ti' +INFO: Launching helper process for spawning children vivado processes +INFO: Helper process launched with PID 8176 +--------------------------------------------------------------------------------- +Starting Synthesize : Time (s): cpu = 00:00:02 ; elapsed = 00:00:02 . Memory (MB): peak = 359.945 ; gain = 102.359 +--------------------------------------------------------------------------------- +INFO: [Synth 8-6157] synthesizing module 'CPU9bits' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:3] +INFO: [Synth 8-6157] synthesizing module 'instructionMemory' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/instructionMemory.v:3] +INFO: [Synth 8-6155] done synthesizing module 'instructionMemory' (1#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/instructionMemory.v:3] +INFO: [Synth 8-6157] synthesizing module 'dataMemory' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:3] +WARNING: [Synth 8-567] referenced signal 'clk' should be on the sensitivity list [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:30] +WARNING: [Synth 8-567] referenced signal 'memory' should be on the sensitivity list [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:30] +WARNING: [Synth 8-567] referenced signal 'writeEnable' should be on the sensitivity list [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:30] +WARNING: [Synth 8-567] referenced signal 'writeData' should be on the sensitivity list [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:30] +INFO: [Synth 8-6155] done synthesizing module 'dataMemory' (2#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:3] +INFO: [Synth 8-6157] synthesizing module 'RegFile' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/RegFile.v:3] +INFO: [Synth 8-6157] synthesizing module 'decoder' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:261] +INFO: [Synth 8-226] default block is never used [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:268] +INFO: [Synth 8-6155] done synthesizing module 'decoder' (3#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:261] +INFO: [Synth 8-6157] synthesizing module 'register' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:777] +INFO: [Synth 8-6155] done synthesizing module 'register' (4#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:777] +INFO: [Synth 8-6157] synthesizing module 'mux_4_1' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:407] +INFO: [Synth 8-226] default block is never used [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:412] +INFO: [Synth 8-6155] done synthesizing module 'mux_4_1' (5#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:407] +INFO: [Synth 8-6155] done synthesizing module 'RegFile' (6#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/RegFile.v:3] +INFO: [Synth 8-6157] synthesizing module 'FetchUnit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/FetchUnit.v:3] +INFO: [Synth 8-6157] synthesizing module 'add_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:56] +INFO: [Synth 8-6157] synthesizing module 'add_1bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:3] +INFO: [Synth 8-6155] done synthesizing module 'add_1bit' (7#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:3] +INFO: [Synth 8-6155] done synthesizing module 'add_9bit' (8#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:56] +INFO: [Synth 8-6157] synthesizing module 'mux_2_1' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:336] +INFO: [Synth 8-226] default block is never used [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:342] +INFO: [Synth 8-6155] done synthesizing module 'mux_2_1' (9#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:336] +INFO: [Synth 8-6155] done synthesizing module 'FetchUnit' (10#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/FetchUnit.v:3] +INFO: [Synth 8-6157] synthesizing module 'ALU' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:3] +INFO: [Synth 8-6157] synthesizing module 'sub_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1311] +INFO: [Synth 8-6157] synthesizing module 'twos_compliment_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1376] +INFO: [Synth 8-6157] synthesizing module 'not_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:687] +INFO: [Synth 8-6155] done synthesizing module 'not_9bit' (11#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:687] +INFO: [Synth 8-6155] done synthesizing module 'twos_compliment_9bit' (12#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1376] +INFO: [Synth 8-6155] done synthesizing module 'sub_9bit' (13#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1311] +INFO: [Synth 8-6157] synthesizing module 'or_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:724] +INFO: [Synth 8-6155] done synthesizing module 'or_9bit' (14#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:724] +INFO: [Synth 8-6157] synthesizing module 'nor_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:643] +INFO: [Synth 8-6155] done synthesizing module 'nor_9bit' (15#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:643] +INFO: [Synth 8-6157] synthesizing module 'and_9bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:175] +INFO: [Synth 8-6155] done synthesizing module 'and_9bit' (16#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:175] +INFO: [Synth 8-6157] synthesizing module 'shift_left' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:853] +INFO: [Synth 8-6155] done synthesizing module 'shift_left' (17#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:853] +INFO: [Synth 8-6157] synthesizing module 'shift_right_logical' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:890] +INFO: [Synth 8-6155] done synthesizing module 'shift_right_logical' (18#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:890] +INFO: [Synth 8-6157] synthesizing module 'shift_right_arithmetic' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:927] +INFO: [Synth 8-6155] done synthesizing module 'shift_right_arithmetic' (19#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:927] +INFO: [Synth 8-6157] synthesizing module 'less_than' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:320] +INFO: [Synth 8-6155] done synthesizing module 'less_than' (20#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:320] +INFO: [Synth 8-6157] synthesizing module 'BEQ' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1425] +INFO: [Synth 8-6155] done synthesizing module 'BEQ' (21#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1425] +INFO: [Synth 8-6157] synthesizing module 'mux_16_1' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:535] +INFO: [Synth 8-226] default block is never used [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:541] +INFO: [Synth 8-6155] done synthesizing module 'mux_16_1' (22#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:535] +WARNING: [Synth 8-3848] Net result_M in module/entity ALU does not have driver. [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:11] +WARNING: [Synth 8-3848] Net result_N in module/entity ALU does not have driver. [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:11] +WARNING: [Synth 8-3848] Net result_O in module/entity ALU does not have driver. [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:11] +WARNING: [Synth 8-3848] Net result_P in module/entity ALU does not have driver. [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:11] +INFO: [Synth 8-6155] done synthesizing module 'ALU' (23#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ALU.v:3] +INFO: [Synth 8-6157] synthesizing module 'ControlUnit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ControlUnit.v:3] +INFO: [Synth 8-6155] done synthesizing module 'ControlUnit' (24#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/ControlUnit.v:3] +INFO: [Synth 8-6157] synthesizing module 'sign_extend_2bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:965] +INFO: [Synth 8-6155] done synthesizing module 'sign_extend_2bit' (25#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:965] +WARNING: [Synth 8-689] width (3) of port connection 'A' does not match port width (2) of module 'sign_extend_2bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:89] +INFO: [Synth 8-6157] synthesizing module 'sign_extend_4bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1035] +INFO: [Synth 8-6155] done synthesizing module 'sign_extend_4bit' (26#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:1035] +WARNING: [Synth 8-689] width (5) of port connection 'A' does not match port width (4) of module 'sign_extend_4bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:93] +INFO: [Synth 8-6157] synthesizing module 'bit1_mux_2_1' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:350] +INFO: [Synth 8-226] default block is never used [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:356] +INFO: [Synth 8-6155] done synthesizing module 'bit1_mux_2_1' (27#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/BasicModules.v:350] +WARNING: [Synth 8-689] width (3) of port connection 'A' does not match port width (2) of module 'sign_extend_2bit' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:112] +INFO: [Synth 8-6155] done synthesizing module 'CPU9bits' (28#1) [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/CPU9bits.v:3] +WARNING: [Synth 8-3331] design shift_right_arithmetic has unconnected port A[0] +WARNING: [Synth 8-3331] design shift_right_logical has unconnected port A[0] +WARNING: [Synth 8-3331] design shift_left has unconnected port A[8] +WARNING: [Synth 8-3331] design instructionMemory has unconnected port clk +--------------------------------------------------------------------------------- +Finished Synthesize : Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 415.844 ; gain = 158.258 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Constraint Validation : Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 415.844 ; gain = 158.258 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Loading Part and Timing Information +--------------------------------------------------------------------------------- +Loading part: xc7k160tifbg484-2L +--------------------------------------------------------------------------------- +Finished Loading Part and Timing Information : Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 415.844 ; gain = 158.258 +--------------------------------------------------------------------------------- +INFO: [Device 21-403] Loading part xc7k160tifbg484-2L +INFO: [Synth 8-5544] ROM "memory" won't be mapped to Block RAM because address size (3) smaller than threshold (5) +INFO: [Synth 8-5546] ROM "memory_reg[15]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[14]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[13]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[12]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[11]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[10]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[9]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[8]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[7]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[6]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[5]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[4]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[3]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[2]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[1]" won't be mapped to RAM because it is too sparse +INFO: [Synth 8-5546] ROM "memory_reg[0]" won't be mapped to RAM because it is too sparse +WARNING: [Synth 8-327] inferring latch for variable 'readData_reg' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[15]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[14]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[13]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[12]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[11]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[10]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[9]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[8]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[7]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[6]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[5]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[4]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[3]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[2]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[1]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +WARNING: [Synth 8-327] inferring latch for variable 'memory_reg[0]' [C:/Users/ecelab/ECE3570-Lab/lab2CA.srcs/sources_1/new/dataMemory.v:32] +--------------------------------------------------------------------------------- +Finished RTL Optimization Phase 2 : Time (s): cpu = 00:00:04 ; elapsed = 00:00:04 . Memory (MB): peak = 446.785 ; gain = 189.199 +--------------------------------------------------------------------------------- +INFO: [Synth 8-223] decloning instance 'SE1' (sign_extend_2bit) to 'SE3' + +Report RTL Partitions: ++-+--------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++-+--------------+------------+----------+ ++-+--------------+------------+----------+ +No constraint files found. +--------------------------------------------------------------------------------- +Start RTL Component Statistics +--------------------------------------------------------------------------------- +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 144 ++---Registers : + 9 Bit Registers := 5 ++---Muxes : + 7 Input 9 Bit Muxes := 1 + 2 Input 9 Bit Muxes := 22 + 4 Input 9 Bit Muxes := 2 + 2 Input 4 Bit Muxes := 1 + 4 Input 4 Bit Muxes := 1 + 15 Input 4 Bit Muxes := 1 + 2 Input 3 Bit Muxes := 2 + 15 Input 3 Bit Muxes := 1 + 16 Input 1 Bit Muxes := 16 + 2 Input 1 Bit Muxes := 17 + 3 Input 1 Bit Muxes := 16 + 15 Input 1 Bit Muxes := 5 +--------------------------------------------------------------------------------- +Finished RTL Component Statistics +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start RTL Hierarchical Component Statistics +--------------------------------------------------------------------------------- +Hierarchical RTL Component report +Module instructionMemory +Detailed RTL Component Info : ++---Muxes : + 7 Input 9 Bit Muxes := 1 +Module dataMemory +Detailed RTL Component Info : ++---Muxes : + 2 Input 9 Bit Muxes := 16 + 16 Input 1 Bit Muxes := 16 + 2 Input 1 Bit Muxes := 16 + 3 Input 1 Bit Muxes := 16 +Module decoder +Detailed RTL Component Info : ++---Muxes : + 2 Input 4 Bit Muxes := 1 + 4 Input 4 Bit Muxes := 1 +Module register +Detailed RTL Component Info : ++---Registers : + 9 Bit Registers := 1 +Module mux_4_1 +Detailed RTL Component Info : ++---Muxes : + 4 Input 9 Bit Muxes := 1 +Module add_1bit +Detailed RTL Component Info : ++---XORs : + 2 Input 1 Bit XORs := 2 +Module mux_2_1 +Detailed RTL Component Info : ++---Muxes : + 2 Input 9 Bit Muxes := 1 +Module ControlUnit +Detailed RTL Component Info : ++---Muxes : + 15 Input 4 Bit Muxes := 1 + 2 Input 3 Bit Muxes := 2 + 15 Input 3 Bit Muxes := 1 + 15 Input 1 Bit Muxes := 5 +Module bit1_mux_2_1 +Detailed RTL Component Info : ++---Muxes : + 2 Input 1 Bit Muxes := 1 +--------------------------------------------------------------------------------- +Finished RTL Hierarchical Component Statistics +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Part Resource Summary +--------------------------------------------------------------------------------- +Part Resources: +DSPs: 600 (col length:100) +BRAMs: 650 (col length: RAMB18 100 RAMB36 50) +--------------------------------------------------------------------------------- +Finished Part Resource Summary +--------------------------------------------------------------------------------- +No constraint files found. +--------------------------------------------------------------------------------- +Start Cross Boundary and Area Optimization +--------------------------------------------------------------------------------- +Warning: Parallel synthesis criteria is not met +WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[8]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[7]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[6]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[5]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[4]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[3]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[2]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[1]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/readData_reg[0]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][8]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][7]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][6]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][5]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][4]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][3]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][2]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][1]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[15][0]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][8]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][7]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][6]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][5]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][4]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][3]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][2]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][1]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[14][0]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][8]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][7]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][6]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][5]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][4]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][3]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][2]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][1]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[13][0]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][8]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][7]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][6]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][5]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][4]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][3]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][2]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][1]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[12][0]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][8]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][7]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][6]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][5]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][4]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][3]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][2]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][1]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[11][0]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][8]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][7]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][6]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][5]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][4]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][3]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][2]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][1]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[10][0]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][8]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][7]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][6]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][5]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][4]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][3]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][2]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][1]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[9][0]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][8]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][7]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][6]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][5]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][4]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][3]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][2]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][1]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[8][0]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][8]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][7]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][6]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][5]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][4]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][3]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][2]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][1]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[7][0]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][8]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][7]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][6]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][5]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][4]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][3]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][2]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][1]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[6][0]) is unused and will be removed from module CPU9bits. +WARNING: [Synth 8-3332] Sequential element (dM/memory_reg[5][8]) is unused and will be removed from module CPU9bits. +INFO: [Common 17-14] Message 'Synth 8-3332' appears 100 times and further instances of the messages will be disabled. Use the Tcl command set_msg_config to change the current settings. +--------------------------------------------------------------------------------- +Finished Cross Boundary and Area Optimization : Time (s): cpu = 00:00:07 ; elapsed = 00:00:08 . Memory (MB): peak = 594.980 ; gain = 337.395 +--------------------------------------------------------------------------------- + +Report RTL Partitions: ++-+--------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++-+--------------+------------+----------+ ++-+--------------+------------+----------+ +No constraint files found. +--------------------------------------------------------------------------------- +Start Timing Optimization +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Timing Optimization : Time (s): cpu = 00:00:07 ; elapsed = 00:00:08 . Memory (MB): peak = 594.980 ; gain = 337.395 +--------------------------------------------------------------------------------- + +Report RTL Partitions: ++-+--------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++-+--------------+------------+----------+ ++-+--------------+------------+----------+ +--------------------------------------------------------------------------------- +Start Technology Mapping +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Technology Mapping : Time (s): cpu = 00:00:08 ; elapsed = 00:00:08 . Memory (MB): peak = 594.980 ; gain = 337.395 +--------------------------------------------------------------------------------- + +Report RTL Partitions: ++-+--------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++-+--------------+------------+----------+ ++-+--------------+------------+----------+ +--------------------------------------------------------------------------------- +Start IO Insertion +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Flattening Before IO Insertion +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Flattening Before IO Insertion +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Final Netlist Cleanup +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Final Netlist Cleanup +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished IO Insertion : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +--------------------------------------------------------------------------------- + +Report Check Netlist: ++------+------------------+-------+---------+-------+------------------+ +| |Item |Errors |Warnings |Status |Description | ++------+------------------+-------+---------+-------+------------------+ +|1 |multi_driven_nets | 0| 0|Passed |Multi driven nets | ++------+------------------+-------+---------+-------+------------------+ +--------------------------------------------------------------------------------- +Start Renaming Generated Instances +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Instances : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +--------------------------------------------------------------------------------- + +Report RTL Partitions: ++-+--------------+------------+----------+ +| |RTL Partition |Replication |Instances | ++-+--------------+------------+----------+ ++-+--------------+------------+----------+ +--------------------------------------------------------------------------------- +Start Rebuilding User Hierarchy +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Rebuilding User Hierarchy : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Renaming Generated Ports +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Ports : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Handling Custom Attributes +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Handling Custom Attributes : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Renaming Generated Nets +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Nets : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Writing Synthesis Report +--------------------------------------------------------------------------------- + +Report BlackBoxes: ++-+--------------+----------+ +| |BlackBox name |Instances | ++-+--------------+----------+ ++-+--------------+----------+ + +Report Cell Usage: ++------+-----+------+ +| |Cell |Count | ++------+-----+------+ +|1 |BUFG | 1| +|2 |LUT2 | 1| +|3 |LUT3 | 2| +|4 |LUT4 | 1| +|5 |FDRE | 3| +|6 |IBUF | 2| +|7 |OBUF | 1| ++------+-----+------+ + +Report Instance Areas: ++------+---------+----------+------+ +| |Instance |Module |Cells | ++------+---------+----------+------+ +|1 |top | | 11| +|2 | FetchU |FetchUnit | 7| +|3 | PC |register | 7| ++------+---------+----------+------+ +--------------------------------------------------------------------------------- +Finished Writing Synthesis Report : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +--------------------------------------------------------------------------------- +Synthesis finished with 0 errors, 0 critical warnings and 185 warnings. +Synthesis Optimization Runtime : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +Synthesis Optimization Complete : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 594.980 ; gain = 337.395 +INFO: [Project 1-571] Translating synthesized netlist +INFO: [Project 1-570] Preparing netlist for logic optimization +INFO: [Opt 31-138] Pushed 0 inverter(s) to 0 load pin(s). +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 681.789 ; gain = 0.000 +INFO: [Project 1-111] Unisim Transformation Summary: +No Unisim elements were transformed. + +INFO: [Common 17-83] Releasing license: Synthesis +87 Infos, 132 Warnings, 0 Critical Warnings and 0 Errors encountered. +synth_design completed successfully +synth_design: Time (s): cpu = 00:00:13 ; elapsed = 00:00:23 . Memory (MB): peak = 681.789 ; gain = 431.723 +Netlist sorting complete. Time (s): cpu = 00:00:00 ; elapsed = 00:00:00 . Memory (MB): peak = 681.789 ; gain = 0.000 +WARNING: [Constraints 18-5210] No constraints selected for write. +Resolution: This message can indicate that there are no constraints for the design, or it can indicate that the used_in flags are set such that the constraints are ignored. This later case is used when running synth_design to not write synthesis constraints to the resulting checkpoint. Instead, project constraints are read when the synthesized design is opened. +INFO: [Common 17-1381] The checkpoint 'C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1/CPU9bits.dcp' has been generated. +INFO: [runtcl-4] Executing : report_utilization -file CPU9bits_utilization_synth.rpt -pb CPU9bits_utilization_synth.pb +INFO: [Common 17-206] Exiting Vivado at Wed Mar 20 10:54:03 2019... diff --git a/lab2CA.runs/synth_1/CPU9bits_utilization_synth.pb b/lab2CA.runs/synth_1/CPU9bits_utilization_synth.pb new file mode 100644 index 0000000000000000000000000000000000000000..cc5951344f5154e4bafa666c57105db05e653813 GIT binary patch literal 289 zcmd;LGcqu=&@-OItPxzAo10ivsgR$hP+F3ilUbEml9`_e;%28-Dioy_=a&{Grxxp- zz~koel$Yzevdvo|2B6ShVFsRK?yVvqkzPrl2*X`Th8-O4OQk^Uwelcc zf8`k(`kap{EZWm%e^wPFK39#QVUhDwH4wYk2t?iml434PjX~_S77Ppx_J4sSgVRw< z1_lp@Nmd+Ap>FQZAwfQ8?LbQA+5-v4ry!EytqX|U>k1?sTirnHUT+Y27f3cZEcF4g pKlw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lab2CA.runs/synth_1/htr.txt b/lab2CA.runs/synth_1/htr.txt new file mode 100644 index 0000000..641d4cb --- /dev/null +++ b/lab2CA.runs/synth_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.vds -m64 -product Vivado -mode batch -messageDb vivado.pb -notrace -source CPU9bits.tcl diff --git a/lab2CA.runs/synth_1/vivado.jou b/lab2CA.runs/synth_1/vivado.jou new file mode 100644 index 0000000..03aec58 --- /dev/null +++ b/lab2CA.runs/synth_1/vivado.jou @@ -0,0 +1,12 @@ +#----------------------------------------------------------- +# Vivado v2018.3 (64-bit) +# SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 +# IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 +# Start of session at: Wed Mar 20 10:53:36 2019 +# Process ID: 12136 +# Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1 +# Command line: vivado.exe -log CPU9bits.vds -product Vivado -mode batch -messageDb vivado.pb -notrace -source CPU9bits.tcl +# Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1/CPU9bits.vds +# Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.runs/synth_1\vivado.jou +#----------------------------------------------------------- +source CPU9bits.tcl -notrace diff --git a/lab2CA.runs/synth_1/vivado.pb b/lab2CA.runs/synth_1/vivado.pb index 52bd0cfd1965f343ffa16a47d05f9e3ba5a5f66d..3021c23c6a08afab544c079d2f0327edec2eebe1 100644 GIT binary patch literal 70660 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 delta 3332 zcmb7GYfKbp6wNoROIcXh2e1pWFuTY@)*W_sXCLee>`E)5sF0SnX=;tJR%z^@yizQ6 z(HdWgMmZ)EjjuJP;ZH4f(x63C{A2ZB`BR(vu1V9_q>z}jnpW-345rx5Aa1gcnS1WJ z=icw$yR&0RcXN~)4pLb8hR5y?a!i2p(@}c;ns%P9rCBe_)UX`3@g+Dy@i|L7y4E$V z=hv)l@2GBw(}>S0#<9i{wCKDLGCxwa+w$UQu^5raQne2{%297@S96t2e;H5Uq%{}A zMWtGhdZP=Qij7$2WU(WsRug7+$vQ5SN3qou!s=x+vzm`;F)0Xi(qO}_+$=RXYebr(f3SP+7k>&BfdRl!Qo^5Qob4)vdpPb(Q;(D zsv-4QpOeGkqKF!k)Yw@rr481XCUDiESy4;{Z7p7asH+aQ<^^!ZrBSDHIfZ1|VXdJ1 z%9Hq|RLdLt%AZY=ABB}sEta9mQ?Qn4vJ6!|V`0HnX;mAOZe<>&thg!`RTY{6C*3Es zw3rx$#q8<9()pU2Ow5oLLuU0C_`t2{nOUu5v)S9P#SmkMvD2f;5MvdFRV56r`Qqv< z71-!cVx&5(ZFb62_#LOZeB?d}h2`dKb42lbz=sJ|mF*c+YN_i%%|1RFQVk^a?%Uxc zvN_F!kA{?l&(^FU&BEPmk`G(NrIuJ~G7B*fNeo76W-yO%+AY!C zT9-EMItB3}(6$P1-P?|qE!#2qX9+TSmIM%gn49{%w9-C}O`Nz9qHy3rfoSbKM4_bD zh)q53;c2i+4!}$mH2U^*M*b45sLML?MbbYIk3{Ec4+H@8ZIpJbZt@z!nNIJ}&t01CF2Nm>?Sx$=x3* z==v?7@k9lFu5s1_*75m1^)*qBy@ih z-_^Z_U%QU(U*7S4&&G8$EjaYV{X$ALz?XVbltEAF3u4>PbWkO*PnMsG-_WM~YUtp* zJ3BVE@$KDHzQVYkIMpINm(|qV6$=MnA?)l=-qQJewcar-7Dh8jgoK5M8KirbMC_Il zVcbBPXAd9Qo=I*K%AXp5G^=pjOc>#`kz6O2g@J6cnhJW6wCCe$fo;T;L*|pz4*6;@ zU!aXdPq9JC$1vBB9t^WgNTHA}Ilppw>Dyf48#A#8=S*aLT8Nwf-LoTmEhIopte<9m U5iSs6gS5}f)<7b-XC=;m0Q!(4f&c&j diff --git a/lab2CA.sim/sim_1/behav/xsim/CPU9bits_tb_vlog.prj b/lab2CA.sim/sim_1/behav/xsim/CPU9bits_tb_vlog.prj index 72b8571..34fbace 100644 --- a/lab2CA.sim/sim_1/behav/xsim/CPU9bits_tb_vlog.prj +++ b/lab2CA.sim/sim_1/behav/xsim/CPU9bits_tb_vlog.prj @@ -5,6 +5,8 @@ verilog xil_defaultlib \ "../../../../lab2CA.srcs/sources_1/new/ControlUnit.v" \ "../../../../lab2CA.srcs/sources_1/new/FetchUnit.v" \ "../../../../lab2CA.srcs/sources_1/new/RegFile.v" \ +"../../../../lab2CA.srcs/sources_1/new/dataMemory.v" \ +"../../../../lab2CA.srcs/sources_1/new/instructionMemory.v" \ "../../../../lab2CA.srcs/sources_1/new/CPU9bits.v" \ # compile glbl module diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk.jou index a95fa0b..b34159f 100644 --- a/lab2CA.sim/sim_1/behav/xsim/webtalk.jou +++ b/lab2CA.sim/sim_1/behav/xsim/webtalk.jou @@ -2,11 +2,11 @@ # Webtalk v2018.3 (64-bit) # SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 # IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Sat Mar 16 14:36:18 2019 -# Process ID: 18656 -# Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim -# Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/xsim_webtalk.tcl -notrace -# Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log -# Journal file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou +# Start of session at: Wed Mar 20 11:12:18 2019 +# Process ID: 4156 +# Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim +# Command line: wbtcv.exe -mode batch -source C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace +# Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log +# Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou #----------------------------------------------------------- -source C:/Users/JoseIgnacio/CA -notrace +source C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk_14548.backup.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk_14548.backup.jou deleted file mode 100644 index 39026d0..0000000 --- a/lab2CA.sim/sim_1/behav/xsim/webtalk_14548.backup.jou +++ /dev/null @@ -1,12 +0,0 @@ -#----------------------------------------------------------- -# Webtalk v2018.3 (64-bit) -# SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 -# IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Sat Mar 16 13:13:49 2019 -# Process ID: 14548 -# Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim -# Command line: wbtcv.exe -mode batch -source C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/xsim_webtalk.tcl -notrace -# Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log -# Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou -#----------------------------------------------------------- -source C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/xsim_webtalk.tcl -notrace diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk_18656.backup.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk_18656.backup.jou new file mode 100644 index 0000000..a95fa0b --- /dev/null +++ b/lab2CA.sim/sim_1/behav/xsim/webtalk_18656.backup.jou @@ -0,0 +1,12 @@ +#----------------------------------------------------------- +# Webtalk v2018.3 (64-bit) +# SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 +# IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 +# Start of session at: Sat Mar 16 14:36:18 2019 +# Process ID: 18656 +# Current directory: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim +# Command line: wbtcv.exe -mode batch -source C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/dataMemory_tb_behav/webtalk/xsim_webtalk.tcl -notrace +# Log file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log +# Journal file: C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou +#----------------------------------------------------------- +source C:/Users/JoseIgnacio/CA -notrace diff --git a/lab2CA.sim/sim_1/behav/xsim/webtalk_7732.backup.jou b/lab2CA.sim/sim_1/behav/xsim/webtalk_7548.backup.jou similarity index 71% rename from lab2CA.sim/sim_1/behav/xsim/webtalk_7732.backup.jou rename to lab2CA.sim/sim_1/behav/xsim/webtalk_7548.backup.jou index 3049660..b0f6387 100644 --- a/lab2CA.sim/sim_1/behav/xsim/webtalk_7732.backup.jou +++ b/lab2CA.sim/sim_1/behav/xsim/webtalk_7548.backup.jou @@ -2,11 +2,11 @@ # Webtalk v2018.3 (64-bit) # SW Build 2405991 on Thu Dec 6 23:38:27 MST 2018 # IP Build 2404404 on Fri Dec 7 01:43:56 MST 2018 -# Start of session at: Sat Mar 16 13:12:04 2019 -# Process ID: 7732 +# Start of session at: Wed Mar 20 11:11:12 2019 +# Process ID: 7548 # Current directory: C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim -# Command line: wbtcv.exe -mode batch -source C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/xsim_webtalk.tcl -notrace +# Command line: wbtcv.exe -mode batch -source C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace # Log file: C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/webtalk.log # Journal file: C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim\webtalk.jou #----------------------------------------------------------- -source C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/instructionMemory_tb_behav/webtalk/xsim_webtalk.tcl -notrace +source C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl -notrace diff --git a/lab2CA.sim/sim_1/behav/xsim/xelab.pb b/lab2CA.sim/sim_1/behav/xsim/xelab.pb index 937bfab80eb1242cd53f58eb26f3e05998d9b393..e5499fdd84e8cd7fa18efc704560697b8b90f30d 100644 GIT binary patch delta 177 zcmdm{F+*#^YG(e_rlbEGPeAzJpcD(ikYE%eZp#U#4|f z6xgy!axohk8i5pTZe|N&WGt8*D4?Ni%B5J5nG>IqnwD6aQ<9UJq?egjTvAk;T#}ie j=bM_FUsO5yAg9LU?Y!1pDTyVCNJ6VPtTzjAsPO;*N_sm| delta 104 zcmbQCwM}EgYG!_~{Nhy4^t{C6%zS-kM}^6|m>rnR%_je0zJo=|kFPm*$<1X a1Eb~S-^_ZOTiAjaC--n#Z~nxg#sdJLJ0x)c diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c index 65d8519..f7bbd09 100644 --- a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c +++ b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/obj/xsim_1.c @@ -46,19 +46,12 @@ typedef void (*funcp)(char *, char *); extern int main(int, char**); extern void execute_2(char*, char *); extern void execute_3(char*, char *); -extern void execute_140(char*, char *); -extern void execute_343(char*, char *); -extern void execute_344(char*, char *); -extern void execute_345(char*, char *); +extern void execute_146(char*, char *); +extern void execute_351(char*, char *); +extern void execute_352(char*, char *); extern void vlog_const_rhs_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); -extern void execute_325(char*, char *); -extern void execute_326(char*, char *); -extern void execute_328(char*, char *); -extern void execute_329(char*, char *); -extern void execute_330(char*, char *); extern void execute_331(char*, char *); extern void execute_332(char*, char *); -extern void execute_333(char*, char *); extern void execute_334(char*, char *); extern void execute_335(char*, char *); extern void execute_336(char*, char *); @@ -68,54 +61,66 @@ extern void execute_339(char*, char *); extern void execute_340(char*, char *); extern void execute_341(char*, char *); extern void execute_342(char*, char *); -extern void execute_145(char*, char *); -extern void execute_146(char*, char *); -extern void execute_147(char*, char *); -extern void execute_148(char*, char *); -extern void execute_149(char*, char *); -extern void execute_150(char*, char *); -extern void execute_151(char*, char *); -extern void execute_7(char*, char *); -extern void execute_9(char*, char *); -extern void execute_17(char*, char *); -extern void execute_171(char*, char *); -extern void execute_173(char*, char *); -extern void execute_174(char*, char *); -extern void execute_152(char*, char *); -extern void execute_153(char*, char *); -extern void execute_34(char*, char *); -extern void execute_283(char*, char *); -extern void execute_284(char*, char *); -extern void execute_212(char*, char *); -extern void execute_193(char*, char *); -extern void execute_233(char*, char *); -extern void execute_234(char*, char *); -extern void execute_235(char*, char *); -extern void execute_236(char*, char *); -extern void execute_237(char*, char *); -extern void execute_238(char*, char *); -extern void execute_280(char*, char *); -extern void execute_281(char*, char *); -extern void execute_102(char*, char *); -extern void execute_104(char*, char *); -extern void execute_303(char*, char *); -extern void execute_304(char*, char *); -extern void execute_122(char*, char *); -extern void execute_142(char*, char *); -extern void execute_143(char*, char *); -extern void execute_144(char*, char *); +extern void execute_343(char*, char *); +extern void execute_344(char*, char *); +extern void execute_345(char*, char *); extern void execute_346(char*, char *); extern void execute_347(char*, char *); extern void execute_348(char*, char *); extern void execute_349(char*, char *); extern void execute_350(char*, char *); +extern void execute_6(char*, char *); +extern void execute_7(char*, char *); +extern void execute_9(char*, char *); +extern void execute_10(char*, char *); +extern void execute_151(char*, char *); +extern void execute_152(char*, char *); +extern void execute_153(char*, char *); +extern void execute_154(char*, char *); +extern void execute_155(char*, char *); +extern void execute_156(char*, char *); +extern void execute_157(char*, char *); +extern void execute_13(char*, char *); +extern void execute_15(char*, char *); +extern void execute_23(char*, char *); +extern void execute_177(char*, char *); +extern void execute_179(char*, char *); +extern void execute_180(char*, char *); +extern void execute_158(char*, char *); +extern void execute_159(char*, char *); +extern void execute_40(char*, char *); +extern void execute_289(char*, char *); +extern void execute_290(char*, char *); +extern void execute_218(char*, char *); +extern void execute_199(char*, char *); +extern void execute_239(char*, char *); +extern void execute_240(char*, char *); +extern void execute_241(char*, char *); +extern void execute_242(char*, char *); +extern void execute_243(char*, char *); +extern void execute_244(char*, char *); +extern void execute_286(char*, char *); +extern void execute_287(char*, char *); +extern void execute_108(char*, char *); +extern void execute_110(char*, char *); +extern void execute_309(char*, char *); +extern void execute_310(char*, char *); +extern void execute_128(char*, char *); +extern void execute_148(char*, char *); +extern void execute_149(char*, char *); +extern void execute_150(char*, char *); +extern void execute_353(char*, char *); +extern void execute_354(char*, char *); +extern void execute_355(char*, char *); +extern void execute_356(char*, char *); +extern void execute_357(char*, char *); extern void vlog_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); -funcp funcTab[66] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_140, (funcp)execute_343, (funcp)execute_344, (funcp)execute_345, (funcp)vlog_const_rhs_process_execute_0_fast_no_reg_no_agg, (funcp)execute_325, (funcp)execute_326, (funcp)execute_328, (funcp)execute_329, (funcp)execute_330, (funcp)execute_331, (funcp)execute_332, (funcp)execute_333, (funcp)execute_334, (funcp)execute_335, (funcp)execute_336, (funcp)execute_337, (funcp)execute_338, (funcp)execute_339, (funcp)execute_340, (funcp)execute_341, (funcp)execute_342, (funcp)execute_145, (funcp)execute_146, (funcp)execute_147, (funcp)execute_148, (funcp)execute_149, (funcp)execute_150, (funcp)execute_151, (funcp)execute_7, (funcp)execute_9, (funcp)execute_17, (funcp)execute_171, (funcp)execute_173, (funcp)execute_174, (funcp)execute_152, (funcp)execute_153, (funcp)execute_34, (funcp)execute_283, (funcp)execute_284, (funcp)execute_212, (funcp)execute_193, (funcp)execute_233, (funcp)execute_234, (funcp)execute_235, (funcp)execute_236, (funcp)execute_237, (funcp)execute_238, (funcp)execute_280, (funcp)execute_281, (funcp)execute_102, (funcp)execute_104, (funcp)execute_303, (funcp)execute_304, (funcp)execute_122, (funcp)execute_142, (funcp)execute_143, (funcp)execute_144, (funcp)execute_346, (funcp)execute_347, (funcp)execute_348, (funcp)execute_349, (funcp)execute_350, (funcp)vlog_transfunc_eventcallback}; -const int NumRelocateId= 66; +funcp funcTab[71] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_146, (funcp)execute_351, (funcp)execute_352, (funcp)vlog_const_rhs_process_execute_0_fast_no_reg_no_agg, (funcp)execute_331, (funcp)execute_332, (funcp)execute_334, (funcp)execute_335, (funcp)execute_336, (funcp)execute_337, (funcp)execute_338, (funcp)execute_339, (funcp)execute_340, (funcp)execute_341, (funcp)execute_342, (funcp)execute_343, (funcp)execute_344, (funcp)execute_345, (funcp)execute_346, (funcp)execute_347, (funcp)execute_348, (funcp)execute_349, (funcp)execute_350, (funcp)execute_6, (funcp)execute_7, (funcp)execute_9, (funcp)execute_10, (funcp)execute_151, (funcp)execute_152, (funcp)execute_153, (funcp)execute_154, (funcp)execute_155, (funcp)execute_156, (funcp)execute_157, (funcp)execute_13, (funcp)execute_15, (funcp)execute_23, (funcp)execute_177, (funcp)execute_179, (funcp)execute_180, (funcp)execute_158, (funcp)execute_159, (funcp)execute_40, (funcp)execute_289, (funcp)execute_290, (funcp)execute_218, (funcp)execute_199, (funcp)execute_239, (funcp)execute_240, (funcp)execute_241, (funcp)execute_242, (funcp)execute_243, (funcp)execute_244, (funcp)execute_286, (funcp)execute_287, (funcp)execute_108, (funcp)execute_110, (funcp)execute_309, (funcp)execute_310, (funcp)execute_128, (funcp)execute_148, (funcp)execute_149, (funcp)execute_150, (funcp)execute_353, (funcp)execute_354, (funcp)execute_355, (funcp)execute_356, (funcp)execute_357, (funcp)vlog_transfunc_eventcallback}; +const int NumRelocateId= 71; void relocate(char *dp) { - iki_relocate(dp, "xsim.dir/CPU9bits_tb_behav/xsim.reloc", (void **)funcTab, 66); + iki_relocate(dp, "xsim.dir/CPU9bits_tb_behav/xsim.reloc", (void **)funcTab, 71); /*Populate the transaction function pointer field in the whole net structure */ } diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml new file mode 100644 index 0000000..9681607 --- /dev/null +++ b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml @@ -0,0 +1,44 @@ + + +

+
+ + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+
+
+ +
+
+ + + + + +
+
+
+ diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl index aa790df..e1d5488 100644 --- a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl +++ b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/xsim_webtalk.tcl @@ -1,10 +1,10 @@ -webtalk_init -webtalk_dir C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/ +webtalk_init -webtalk_dir C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/ webtalk_register_client -client project -webtalk_add_data -client project -key date_generated -value "Sat Mar 16 14:38:26 2019" -context "software_version_and_target_device" +webtalk_add_data -client project -key date_generated -value "Wed Mar 20 12:06:50 2019" -context "software_version_and_target_device" webtalk_add_data -client project -key product_version -value "XSIM v2018.3 (64-bit)" -context "software_version_and_target_device" webtalk_add_data -client project -key build_version -value "2405991" -context "software_version_and_target_device" webtalk_add_data -client project -key os_platform -value "WIN64" -context "software_version_and_target_device" -webtalk_add_data -client project -key registration_id -value "" -context "software_version_and_target_device" +webtalk_add_data -client project -key registration_id -value "174150793_174150794_210688225_140" -context "software_version_and_target_device" webtalk_add_data -client project -key tool_flow -value "xsim_vivado" -context "software_version_and_target_device" webtalk_add_data -client project -key beta -value "FALSE" -context "software_version_and_target_device" webtalk_add_data -client project -key route_design -value "FALSE" -context "software_version_and_target_device" @@ -12,17 +12,17 @@ webtalk_add_data -client project -key target_family -value "not_applicable" -con webtalk_add_data -client project -key target_device -value "not_applicable" -context "software_version_and_target_device" webtalk_add_data -client project -key target_package -value "not_applicable" -context "software_version_and_target_device" webtalk_add_data -client project -key target_speed -value "not_applicable" -context "software_version_and_target_device" -webtalk_add_data -client project -key random_id -value "17336daf-0d92-4f07-b4a4-ff1c52043edb" -context "software_version_and_target_device" +webtalk_add_data -client project -key random_id -value "4e917e26-7591-4435-9135-15bd446b0238" -context "software_version_and_target_device" webtalk_add_data -client project -key project_id -value "0a5803efda44405bb28bbf43ba22e808" -context "software_version_and_target_device" -webtalk_add_data -client project -key project_iteration -value "59" -context "software_version_and_target_device" +webtalk_add_data -client project -key project_iteration -value "55" -context "software_version_and_target_device" webtalk_add_data -client project -key os_name -value "Microsoft Windows 8 or later , 64-bit" -context "user_environment" webtalk_add_data -client project -key os_release -value "major release (build 9200)" -context "user_environment" -webtalk_add_data -client project -key cpu_name -value "Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz" -context "user_environment" -webtalk_add_data -client project -key cpu_speed -value "2594 MHz" -context "user_environment" +webtalk_add_data -client project -key cpu_name -value "Intel(R) Xeon(R) CPU E5-1620 v3 @ 3.50GHz" -context "user_environment" +webtalk_add_data -client project -key cpu_speed -value "3492 MHz" -context "user_environment" webtalk_add_data -client project -key total_processors -value "1" -context "user_environment" -webtalk_add_data -client project -key system_ram -value "8.000 GB" -context "user_environment" +webtalk_add_data -client project -key system_ram -value "34.000 GB" -context "user_environment" webtalk_register_client -client xsim -webtalk_add_data -client xsim -key File_Counter -value "7" -context "xsim\\command_line_options" +webtalk_add_data -client xsim -key File_Counter -value "9" -context "xsim\\command_line_options" webtalk_add_data -client xsim -key Command -value "xelab" -context "xsim\\command_line_options" webtalk_add_data -client xsim -key Vhdl2008 -value "false" -context "xsim\\command_line_options" webtalk_add_data -client xsim -key GenDLL -value "false" -context "xsim\\command_line_options" @@ -30,13 +30,13 @@ webtalk_add_data -client xsim -key SDFModeling -value "false" -context "xsim\\co webtalk_add_data -client xsim -key HWCosim -value "false" -context "xsim\\command_line_options" webtalk_add_data -client xsim -key DPI_Used -value "false" -context "xsim\\command_line_options" webtalk_add_data -client xsim -key Debug -value "typical" -context "xsim\\command_line_options" -webtalk_add_data -client xsim -key Simulation_Image_Code -value "93 KB" -context "xsim\\usage" -webtalk_add_data -client xsim -key Simulation_Image_Data -value "15 KB" -context "xsim\\usage" +webtalk_add_data -client xsim -key Simulation_Image_Code -value "98 KB" -context "xsim\\usage" +webtalk_add_data -client xsim -key Simulation_Image_Data -value "16 KB" -context "xsim\\usage" webtalk_add_data -client xsim -key Total_Nets -value "0" -context "xsim\\usage" -webtalk_add_data -client xsim -key Total_Processes -value "234" -context "xsim\\usage" -webtalk_add_data -client xsim -key Total_Instances -value "121" -context "xsim\\usage" +webtalk_add_data -client xsim -key Total_Processes -value "241" -context "xsim\\usage" +webtalk_add_data -client xsim -key Total_Instances -value "123" -context "xsim\\usage" webtalk_add_data -client xsim -key Xilinx_HDL_Libraries_Used -value "secureip unimacro_ver unisims_ver " -context "xsim\\usage" -webtalk_add_data -client xsim -key Compiler_Time -value "1.01_sec" -context "xsim\\usage" -webtalk_add_data -client xsim -key Compiler_Memory -value "45588_KB" -context "xsim\\usage" -webtalk_transmit -clientid 3212063844 -regid "" -xml C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/JoseIgnacio/CA Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "

XSIM Usage Report


" +webtalk_add_data -client xsim -key Compiler_Time -value "0.92_sec" -context "xsim\\usage" +webtalk_add_data -client xsim -key Compiler_Memory -value "47216_KB" -context "xsim\\usage" +webtalk_transmit -clientid 2850620423 -regid "174150793_174150794_210688225_140" -xml C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.xml -html C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.html -wdm C:/Users/ecelab/ECE3570-Lab/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/webtalk/usage_statistics_ext_xsim.wdm -intro "

XSIM Usage Report


" webtalk_terminate diff --git a/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem b/lab2CA.sim/sim_1/behav/xsim/xsim.dir/CPU9bits_tb_behav/xsim.mem index e981b0e3db5b4d3d1d2fc8e19df1e312a0648235..26363753aef178a38c83d2623eba0b4505e46b6b 100644 GIT binary patch literal 16815 zcmeIZc{r5s`#1h>Q;8^Kr;284Si4Gh_MP_f+rC=lTBrc>a0*{B|7f?Yge>I?va+UgsSB^UweJ@AB3C^bf3m z?uIvizyF`J{`c*F5%^yO{uhD&Md1Gx0vUUId*I(+dPo00{JFD={PWLY;F%Nn+xV|} z|6|(!_0{B0JkL7u&p!eCmTexz+L&@c^71@VuZ3L=t2TM8b4WS4V|8UUp?ZB`b&>s} zA0yMiwd8f3A&nrm(7{wzt$P=`bLQ>{Tss!dap|-A>!Kq*thbIv*$+OP5i(?Z#Uoer zC==1-jYJR--h$rqeF$H|W2bUjX%%|6uLcc?SE;$qZaTbaG?VzG<4ED=ge|p~mua^>`~GymG2g9p~FW}74gyHMxP)KkB>Yq zGuV1CIoI@sxBZbxDN6UQ89|lzfuQ}zymCD8%%^i#fK}(- zaWzvK2cHDVcSBs*vwVYLf)aANq&xB`PZ@o?>uw`bW8RWKN3_S-P@m9z{HwiT4w_?rPQgkoM1nx zYnrf@6ZaW+qS;f;<+U%lPgf`S`}3I(q(ISCKA$@$ojyT?7b~xl#A(|~UrABA4?jsF z6F($rh@szCpRLW3--GFv27gb|;B93J;yF}n%aB-- zdvSq#WA^M-wN=s)@>yf=De@8VQ={MYg2RbO_&1u_Qa!>whe=mKVMTKgh+I)A^_DyqV%|ySxQisP}z~!xO+unb#rud=3^a`Vj zYEukDbp$@Y#z?0z!hOv9!s z)TYshw!L6~d*OE`TIYpk)BuOh!ZUD|HEUtyV;FsRz2G$@p$}wghey(e<#HQlWRrFDx$IgdndgT=5GtR!*v+2hL)jL-{ zQX~Xz9cC0cE^ueWin*VLZ}J`D3tG1h6S+7y28f`vO)BcX2ls|`t1p(7G~FA2p}J-x zJ|`LUW`{6KYT$0!*PY zVnX4lt_EEtm+Qc+E+>+%cE97oVYwbx9Td*SQMU$l>J9nJEC$*hbS#V}QLYrhi zv}rn`{rP6MbPHsxX|w;Smtsx1bqGRoXRUE}Qek2gHgkuKu!r17)|n7luNQfHviH=5 zy6+z>hbAkbLrelZONqDdHrSNE#MXOLt?%R#x`Hw#eKu4%%hTE_A6)SFsxC@KCK1kI z95#(ZuvkFv z-3vK|dXcI(vmPv()miITc6s}W^K8#7)^(@3IkX*5ZrkoSvX>{LRoU7i?k>{TIH2UU zu6&wDWwW5wJ7X^D=+pshnOy zM%kvTT_@W-yc+iIis5Ox<_{hU-~aDxp~xXBnpd8mB^^gNw65A<_HLFkK7GeiKE9p8 z(n$^c!VvB+;R$a7_8abC!aj;951CC~tqL%M>Seu7wNwfe#l95fs|tVu6XKkhv3Xy~ zN4epvRkc^Rt6y^wVdo-pyYsw4U2K*xjW|fxP)@RM`Ox+w9~{1=pYo8povdYs2Iq9iNP>$*m5Wjd=cmU5lS`zaKgSzdR{1$eTG}#pF)B&-x1LiV znotFsU+WPpP%A93+cE4+YI&P%?n15u(tr(%Fs}tMSWtLQI5;)l4V75A^=gWDp2oD6 zNmv8c&?L&EzLGOeOw+{IY_L;{#{{?ZN1Zn^&p|nX9h@!{CFzLH&*tHm1*o7}b}IgyV5h%;}>KwF?Stk_fWfUN1X2gL-nZ|G@mV;|#7Sk4!O zx4JekP@{HvP{F&%Q~u|>R+)*g#H~%6X%K)KavqdqncctkIL7Hl|IIdN=rw4%8gg*} zn;0$?5*m~+vA0MtW6>J+P-Wl4@OY5XA>BRmot6b^tb&Adb>+Kt3(__}Ewo~sg14#5 z`vwMio+|txi~Hb@L0%3J9N+a4r+*G8?y^Po+VVkpI`&fWGly0hSDhyUZi&I*oQL7< zYyL!q08ikHMt4nn%u|Dz^F|YArH(^hrr+|E_`S#*0V7V%L>SDxQaimV369M)5vxYQ z$@!hf+%iEj{Nbm6r33n&FWR=)yKf9&H{dS)W{N55~zP*91*SjWg z%gAFyP8FDNr*=!aDP7`FQjN%#k1wbCyxb;^o7{=;e|BM5c&u)7Z+ctHc&K%P7@d~y z-%ylv(u%8?-HBjr!Ueg1v+2Dz)rc38|`Uce(oLnFm zUi}Rmay)y3Dh~=pV``HF#hvhEuc1NBIe{GlqQ~dkzC=<57i3B55-#x!xvNgy7Qbfq zyFAuO4l7#v@rLboA}Zf-aCQyA((;14e?#y#KtUW_S7d-H-3=sPP$KNw9OpwT>GW4P zuJgAr#=jf$^qe$NG(W<^2*#V2#m&)f&nd4Xdr4l~g=GsuN+%YFL?MEf(AqcyTxXZA zI?MKcy&wMh!LVm6(8J>8Pqq9t_qfj>IoYs|pouo%jB?7?`K3518g?ShL2I$sa#(5iwlm1P9KKSSZjL+L1b661J81fgcl)wMlR17ZRVH?^E<7ZChf9=xg zSVc~syOj~#qTv=ew4iRZIA^Ss_2{6P+u4}(!Ve+c2M4_zE_&^^mnf*GwiI|)in?P( z-2t_bm7>Sz+P)NciWpBg(oHRDdYG=2F7}#lF}LBv(RSLAn*9AIxnprAIw!vEXIu&x zc(P1*Tkpm*$zdZxl{lqXW);K9rF`&)xdLd0X-U`mOT8z9o&g#Xbw|EDkiT0u>+vz9 z?eqEVASIo}JZ*+4V)Vlw&+93CmxtkTc>>=;5pEVtjksamf@UyY^q88; zEonczJ@cApul(^;s)6txCP`0#PAg56H6}J5R^;?`T98{&G}dUdI6zLR#Iq2K6FgmMIB2Si{G3n2}NYHI5p5YyXk4=22g`* z?vjSfQ-`0~NtGH)l{_$9A6b4V0>|*o^>txfp z$Ko|@m1;*ypMRcfHJM#vj~@OeKAqYOe9mnhLI6g(Xld`DQ--Vt&+@2W>c7>;D||2RAkBs@kESwwKXpf)(gi?EtflJN(hsB6$((fCS=R+S_mb zhaT9f^bP@@!F<3Dst>udICWqu2IVBGDShn1>YyOg$Zj-EmGU5LW~?S4?EUp8_rnV3 zTFqvSzpki_*?0gUMM2Ea9E`(N1vtM+*2vY)HPg4Xgqs^imqym% znFY7}sv1a?+Sr$sVC=bjYCc%_fdFpJ6h8dU4jz*SDbRsQ=6r0sHR@+t<@9gLuy*5e3TfFQ2%~HTI|(Z z5wNNmv5fOa1^X!VyUzJtnajhtf&CpN4r|YDo!6Qo4HK&0Ex%nVQvl<#bqxfb80Kjf zBV-^Cvqw@V89$!_65^X4fU;FC#7PHc8z0ucJn27CzgRXa!F~9ZP1K#`TAlfyBlejD zHrd-vYJ{JZg*#z0rbSbf8%?}n!}9&5s8%P+E=xlL^@5bZ?+(q;RDR7W_iHx{v9dW^ zOk$~?%-u5f%$=|HJ=>?rhJJFS?$aU7RHJ7V1y?=KN^%G4oK@{Dyqh3lpLlSethmh8 zM5dT$nw|eRu%^rwp?<#g-z}pK;7saq80UJClLg4~0({n$NmZW@Ks*@9VjeahTTRr94QjwT;)y(qBtMSgXYSRQ_~Oos+IJAmhEMHbS(21V_kjz_ zT9kQTZQMTJCC#11XT1?6eB~r5_mP!JSC}NLx6DOM*2OZ`1U0O7p~WMuG0J%@#O=*b zq`HJ4giVCl`}9)s4URgA@5h+rxQ3m?Np(4cxR2cmPb;K%v(l`cJrQNPXtR>4+%svdygq}gk=!k6pAWa#1WIbooZDw!lsy*obDf2igC_+F8gX)ag-t1PmN4=~(A=uX(BY)rnalUubI}7#nX}0CMYHFWQ$?T5O z)21!*c;h#?tbY|er#$7lE~|$W`NmFaNUX)CA^~R2EHfX!sS0RY<@^|`Ut!B45!h1L zr;-$MO*3ora0w@ui}VLnmoZ!_1)V&T>|v|GFBhNaCbgKtUy7{iUVF1!5Mw(&I*en{ zFbfX|h9y6>&((frE6%$}Jjjs^tIG6n801}c!V|UD^s<8*7)`G!SP?`_XN61XTB?Ak z1B#Cr6oGq)wFcQh3k-8PNEc;JL5ukaTjx_~!)|Uc$yc6it>ZB+sLh@%0vku*C}9c8 zmV?P(2COXK*2Db0&VnOe?WU#x=fa`qJWP1vks_2t9)wh99&yR$J%@|t4kPnt> z$!Qs6aQP)sdA9;2WCo` zt5)?B)rcFN}4;v%&MLG$un*POI}z{ zd{S4v6>_if`sMR4YFLcD_=5nc%NpBN?Q!W`Bzc?p4X@1A%s(1(MK~394hYl)g}rBJ z!JFL6QB*d^gs!}UMmEej-TlQonNbB(Y-CCg96BgM;q~HT3^bwzr0QQ28MV zJFOkAng3juFqA5viRDD3ys+KjwvOOldGk7K$ivTjxT$rhE9w=w$0su&_+|@5denEF zL#{Jb+clHbssIhg>7PU>I3uK1w>ibUuC`i}-;5l}&caCUn-aT5qTV{R{C zkf7>-XtC+`2P4c&Il!&+YwB>UC=qMIYIA$gPhmmyoAJ8sp)xO=8WP*FEO~T#dG0vA zUE|hedho6V9H4g^ z=HZWDpcoPcjH;?anhNc9I!9y0I;#)njv8ceLbI*rLH{ZJ^Ub`~IR2*(vZmQ5K2 zRjn4|3fr}TCKY1Jt|fo(9ag!mY3o-G$PdJF5wyy-HINzRmbKoS4VHhuJ8d!-5J^=i zxh+{kqOfo)q;Ysi6|0R)1tafi+Iq%=F=8CiJS^glzxi*Bs1x(jeMgTz24(&MH|XSo z|3eN%Sn_JB=orRX0@bt$>gqpeanbW~Y^#X@pd=;1w zXU1J&aqs?(ICh%0zA66_Q~dy)WYguf4y`2VG2a2)nO*fMAa(;`$_wk0S&GtA!eX+{ z;18vK!qJFg(_?vKVl$A>E7(;2-J$YxNJ;nEWGUEBYTi@kIuNlKB|RZd=s*_bErJ0j1_xsku{`z4XZ=gy7JqR8ufh@U>*>0vbRM)UR`tNf^!8;r$eQ6 zNC(AH4WVh?4-cT-m1Ftle=qzgJu^P~E|Qmx4{*m-YRJc>(R^Eb&>e@}KjBcx)2SLHzjje4cq#cL2XvSG zuVxmVfa=d`gKA*Zq{>fPGL7R59hpOtEUn@(@o% z|C-(kHg$ZZr8BGK^_ z`{gEBpruZvzK8-$1;Y|zzUk^VDZkg8FeAO^!Ab~yfjQ~}ObFrmMlo8k zvDry;iYHsgd(^}g&O3lPW!p|HxEkXzx_#h!T+4QoX``K*OtfF_OpL1?Ewx8;03o@j zpi#Bp>!k`$oVfw+S@DS&n#Pm6oc?FCah+W&4T65R|8*Z)yjREPpopFs`}E=LObxW? z+4ErfavKfY&f>YhEG!@2oKPYiFY&75fF_|2Tv4Oc&VQTSA{mc!wT!_C*Xwg!0@IXB zPu~nwt}{F4PpUeT@ zc>nCdCLCXjg_+MaoT-nACw6SGrD$UaA#Y!Ru$f!=2{e^6aI2%|PjGp0%zGMi%@oNH z8bq<7F)M45k!t1*dp)ZwdM^EUUPa2z{sb(wr&n{cak8Ajxv8^{x8lBgqitERlHtZQ z*ED*2iNM4Cjwoj|OLc==^c6ffCq7>g=Yy$0h(&z!C(LjDJiyz7ez8s2v-WPVf(^i@V4B@7b@!WHyb{0@3`6hiMTg zGk2Ow6WhEf1oD8<&=qE%7^)nra+2{}Kni?1o2+^l&!+C33=|HcA1W^WDICm80xF&8 zg#+74HHqT)FXcxjvmBXbQWd!jPpPxY(LE3SaDK#^wrQOIcV|f>HUZ$+ zD1jRv=QSTcBAW>Y7DM>4*Z5*0J&Q*4xWe4E5r0aN219yD{ATd3A>3M9^*nP?_DC7D z)VL5hSzJz4G*!Y>I@N0UsyXAmgZpY~IES*9Q}mAmh!&zAaRjbAxxr56V6sB2;3|fH zt8CkXvnUnR;-Nn@Ctg1{F>>|Kg^jG{WQQ=bu(AT_Z+KMFsH(sfRt=U82^;$b^OJr@ z`ydYAtFB-XyGbMMhwdqb1w}sQ|H7<87)$$);O4oahDNS63)G415WkIfL4Zs7kGg{{ zdv)RP_*Gf|qcYFn3L)=|W#;)*u&ssu-I<%)b!@+rJ$mj)*!P$REyQ11qm_Cp=Oc$3lSuOuZ*%;dd9|q*ByxOd_M&cDRA_+8;o-i!bL!J2cSA zR^}+|7Iv@6!{<&8k>0`fl#IRsq2pzV+p{#fmQo4n$&Y%9z=FbKyS5ZHS@iet?_rea zl;uD_wV^*!f)%JdwT!Y8{C&+@$@_*WbDXs}!+=Z|l9uo1A^vY)r5d(YhM0f5#`GwyT0 zRZBnLIF&DrY6&{geZWTr@d1SfsuWp$C7LTj*L1b0!}51mXfaIX$9Y^83huzQ-;^(XwX`)uIoLZ z=>oRA0OojrlG;KC;JaGJE9aqnqIhVC(^Bx zXj%SgRb!ZTxxOsea2)-RJ8^2t~s)066|69#9ln$-GuAA*IUp)TrdM# zPuG;BGK8JMxchYZf%!dI-K=iYVWHq5>IvvUhC?AyB})HNyxefYaZv>I37@h_3~~ z8S+1O7(Ix<~CB1Qsf$g=3%FeniZT4zibKx?GFeeqlYp|>0R>38!+j>wTl)&m5==$Z>4m+)u> z6_5nL9k`jd2$OaeJHU42-cGN)JUH@fx-_Up&DP=PRH$4fi9r>7I9J&V$})ay&G8`c z;iYk77f61~uF!P`+*jVbv5N4iLzhW)o1jxYM<0VHx*ppPjIE|iyJmu4s0tVI4*{!% z$@a7-Y~ZpDwb6Uvlnunki!9ZFXBcdgl;ecyb8SB=(eGKAn{+G)8dh|yS|E}DlPr(^ z86D=kAD_Y%U=iF=4T8e*sCs1nFhJhElzsdgxaPx0`*a>qv?>W#Iw}@yU*whPQ%{VT zeI5m1VL?}no&tHA8oM;U1TM1nzMn1tEJA+>NCH`V{PKmHE3mUbS#L$D@^=9#K%h*B zl?V6+AJ>tJa`1RrE`GBYEwvCq!WZ=%4nf@n`GxpyokRfg9-~c(K?Gb3kv?tS5pc-L@Ywh&= zjkV#Wd!Ts;nl;ivxXs}~$Kd^M3<%PHFgWoW0~PDv7{E-{%$D2$?`#xe_b>ukOZ?+7 zZ+|;XiRf<(;zcndplCVl9z(X90a0Q8pQq{0!k_aSgE&(F0~Ri%%JC+1$Q7hHQX8oN zO}^XWrg(rin85;fjPTgtl&#$q!54Y&p23xy9W`5$DNS+sW#y_$;Sk`!0yYcXZ>e4Z ziYNT{c-`LqZ&902UEs%*@=E-ZzO|2MJyIftt4&geRn+9Pd;BW@v{PUS!Se6)BRrmD z8b?#}PB5T>Uumur{Q7AgH6*3m=fIYzzNeaBkj6sWr}vO}gWmpV8~QPQrLG!sLdcWs z7ii(28{v!)H0U+@+c(1;t}{QdxN4hs9EX5n0>GeXWqz9$Ku7aW7ezwQ^QJBTL;+3nL>f>>!&jU#UY}E&!O&Zo z)wZs9qAt**c-p(xy!}@{uioZtDp(R%SCvdNsMNF@a#EI>)o7GHO+ z26Gn$w>t$MzyrskM<-KPH391+!dzV99FhI>-xL}KhjHf651r$4_E8cX`J}!Zz5SmQ z=n9+iExtahJoHrP!AqM1izZtPBYR`7ufrc}4|qQhMr?gQU-eLm^0TR_Qy*+1T+m8= z{82T0?sD?T$6j~L!vi7pU(vDNKq^NWZh6JGJXd1I(RO68@tx2n%Zl8|q`e^Lp&wIi zb?Sv!;i7_pKC;T(V|pV)IsFSzb$I2!Enh45C*I^;tz?Ic&3xXcZZ&nW#&5U6UcZF` zF`1_wO(T2^ck8UC-PZSU3sW(`Ae<$FbbRSk~McB%EQqNMb! z*tZ#N;rP%~2&-4MVVi3M`rFSUB;)UC4QDq+mmSbF0Q(N>Kc2k@&c&*Iw|e_OqeoTu zUoZQrI(#nv-t4h(^bxc2Q6~en%_e!|MvCN}9rJo3sy}@&`{S!f`NYiAnBBcbNN*OSf1Pb8d)ukG8IxvrD#V3Gclhtt^f!nRP__*nRSMt=@n5xmfP#=jXrwp1*(R zH&@QsqvoZ?B^(zFA0DeMx-@9Fs{LMY*v+|(8hL*A;j|zxTWP83`+WFN(GmJ z|JFCzlUXnB{WVPq7uXkw^2U(WaD9EJH8S!#r027>Uo_nK(&2&dNn^a%8frD;ubXvg zx+!PPO4wke^rx-T>^SnDbdMZ&wu@~AZ;q^;5L`j}sa3pFYYq&dO6{JR@_ro2buzSl zs_x!Z0tDIH+c-t@ScuYw*uM`{+a{mit~sn55ZgLql_*Ym%QhtdAy>*~M)Uqp=F! zAN*;tX>gX7=L$B{3+)!KrELgg4smyu1>ra^=~TGg^$<+>cH_lo%GB7Cc^a9V4rKO9mAyGZ$ab1H!(qGO0aYrTNb zTH#na>ULP(n;0Dm<-nns>k6rBj&Y>EB?Th!#K>yCF5e_q%*lK_%<#)Ji6h^3`oiI- z6eY3et!_sap0h3nU5|B^KeyQESpD@b00wFNM;9uMax)YY6x-Uez@)Bq=#8bM*c^_9 zLtN6@sXbk3xPkm64IXLV0$}ZPPh2OpjI7Og%8v057UZ+)>QUPhT-W%K`Y%kf`(i$G zo%i)ZpfPKijq8VG)dk!BC(jAtZRnIVN*5pA*C35T;c^Wa5RP+?)jT>t+O_yHy=8n` z%JcQpFWVo^s(WaMVEC_1{$RcLmN`nfJgrpPLImxNC1tAmeE){(IP>k^IRP!FtxIAR zgI-3W>f{R+8H;i=y?l6>#44EvqR|u|+C&)IkUaK>U6n*QTr&H#4peN%&st^~@y!IU-Snb^g*x zmK@n_u0Li$;}Fl6Y|>Wev~f)T_7M{{;25HR?;T)rs#010!ne@DSH4Uy3I9d|TO_uX zxhT8UyxAY{OtV_%bLXDf0^EQS0u5YC*t%WLY8R&IVRbUT@yb9{w>^l)%3%(1KZFxC zQE}b$d%WD%rG4rlOcPZmSxaj(^ZJC%ka8~T%jb|!XzsEZKkJO9*Ql-A4E+(F*97{f z{WjG@Cb)!l6WRq+RPVJ44sT7q5{Y%-i6z&t5-v}}cooZ4y}ymC`*SYRrfjj~>*}&I zh(o-a6C!H?WI}nDyv^k!fhIBN5(0J2F?Ort^6u+dZlPVzm+I#Nzh21y5`c{lz?~q( zKW%u^eLxq6HBfhMrE&9}mfQURu1^Kov1cD> z*?7vzxPxUbW+zCU#V`w_Y^R_^jtk!n9 z9P(^nd%&KoI*Ht5xe>K*362z6%fAVFSlu4C9=0xYi{=!o1t|yDSzO<{X}4GKeotVb z={T{``DDD2>a8>?>LJzr6_qO|QOaeT(nO=(i``1Oyqf{aqrek-Z9VoxsM!qp1`tI< zOV&8RZF_i{ZUUe8R9+eYpEvh5V|K{`7d7Eq4BG}+xxj&Q$7L^_5-!vhzvE@;+m=-W z-CK9~_OUO`ADZdBkP+U8zw{mO)htd_!$~a(&MIwjTk7lZHo-l|#RqYuo4xnfE$MX?^(Efxq08qDy!pL^G*7NVyAd|8?Fc>+z?d=nnHo;Tz9v;y1?wPQBODv?J(* z920IZm$5^i7##Xwkc#wJtPz`4-+WMVNm<{oZZV)lzAenfLXExh?u6y&`HX4czY@Ws z4-8ez{33D#SJ7dUmbe1kwF1UpKfNc4NNxuW4|qr}Qh&6PL3VG(x_wSgA#BK_0dZAih>radNQD2ev;dzEj*b;TkmfaOmyw zu8>~o(wcV(hkClraIs0@DR1v8mGPka2!0gfuHDRhJ%r{g8RYCbvc`w4m?^J9343A{ zmbWM3aNED;4+UpaXhWMyd8QNPr!um?uXqo;sxDV@hgQvGWR^~Msy6wf_c1ij_#T!G?%Yva!d<^AODV;&V8~N} zOSEHi(DkzVz%Nup4JuikR$F|f1di_% zvb;xz*Po1pvXWRA2}b^d-7_UxJwqCM&38j;t;;zUTOy`@R8PZ>#upPNY)?i6J!tsO z@IpnTo8;yBO-Cgn*Fsj_bmC6skGk-o(;2Q`^rJ}0i-^2_pD)#wmMUoJWOo0Q#dKY( zm@3OayvDHPNLTE>x%DTX7+xFf>*h{KZguHujJi|dn0Cy%K~)pH}smo@t3YH+{TbRfzknPlO#*5mhN-KR?=7i=COfeO!KMH3jwYU{lB0ZCkC^ z3i8%3IUXGO;de$@%lEuQn#rf1FM9EL>?%(aDz;sZGgu(e_LRY!AED(fivwNIGi}p| z-0<)q4Ne&*Cn#hv1KSKiAxICj4AE3PF!b8odu zDlVNf#w|d+WE|cJ?hVJry(!LCWb_RxKI2&QIqGitapunpZTTteh}>UoLNbHhKXi{j z?-22?@E905^8BUVTLw=)nR%X0$BQjune5D+FUDpcU$J6zcKPA}D>mjTiuGXmA)Tba zY*hsPl;Gd0k>`HAZ?^Q>@Cgo$>)4Rt=O@o?Y9w@iKcn@AQzZO&kMPy|nr`2uU$-dL zBy3l?{DUe8!-a9aT%)i6Rec^WzJB$Q zTB!83i7LOBobF5-4tgsUZEt+v)P*qQdmVo)+wkF>enE22i>jgNRxJ+84$-@u6_#43 z-0t9QpRRn3JsjK9D&wj*7hb+@k8X+b-N75{%Twx@ALe+F%kP+$#0{RT>b~!rYjV*d zD(Z*H4ARcm?!tk&wS!sgsU=y=N5^2DzxEnJ0<+D^_2UM6lA~Vct?BqW-Pg@&3tD5; z`^o(oscIH2ZtwQdOkmW4J5$3!TYeh*G~km~b%kTg-PyXGcg;|03}J3xP})i^cx@mB;n>;!k@}dfPVkGeO|9_OE{br`!MY z_Q{`kZhvUow!rO6_8}iFEQE18I6&ui^B!=WzFQqm!(hZ$ik7Ce=D5W@Nsn=4QCO%uH$Yaz<#DGKmc+N=V`@vMt?_bZJ`wDLM zwZBj^c5wAU*ZIaTzF_ainV&A!dcBGd)NR~2nxr-OD4BG3<&H!1(72xZ%)Bz=>sL&Cg{SQ~%lY_iWvn6gXCAoLEor6mbnt|)C^(;A; ztTh;Yt$ctsEH#Iv-F*Ym9bc<;#8&m6%f_2#Xn9tWc3|#-4bt2nWY7?obR1oUPk0uf zb-kH8YVTqAzV0zL*=0U>!PtNQS}+&zL}jH!E<hzj}ARV>(7GFz*>keIe#zauDXs zPv0h@TYh&h^xm19GsWe4D$!R!OKHQJEAAuYWnHg1Jv7f6w1W3y*0l_JT_MH}N`_oS zVm>Eaxf>sc;6x@M7DGIBxo9-;Io;yN&n5g{Tfj=s5U@el9#CqN6Tt%C#Y3_CbgYQ?6r7OD98uIF)S_XW(DAjk=991U8_Sg?ID3-d;ZFFu4)5NGfzM`op2`}BH5QWE z`05|P30Q=>2Q)Z%!4oDj7dcJa-~RA8ta^+;u((Hi@pwT0kjq5JV2Woh_eJR3XPNh1 z*6TZT<2ew_&Zz;%nL#tS0qwg{t7kG{&skODtc&CCJw_-V2>Of0{u?%fINKr9G>ROx z=uu9-#kttKJSYj?p%9C^M{-hVm-fE7t^hq}p}1P)oP!s;^W@HQ5RXp0Ynr-_*A(a) z^1N}b>38tYJVkoMMPmmIYn|_3XAZVq(P`5Za~(Uc=b?F6Be1%Y!3*dZ2#b(TcJKBY zLU8F``=r;MlW+QH@dHoo8He-e9BIKl3lVUG&w?-0_rWATTHm>-?y)C9zu$a+@M;}D z06+#7dNmD_ZC>H;S$;@#E~};BOH|5;kI;&xok3{@meaVb+E2t^XhEgzqF>$fyT;%8 zWf~XZ3OB{Bd{g<^aW^t}H^#{FzFAdE>3ikhpAG=p}TE5kq(TlyLU+t?T|? zCC147Z$=}h30Go^8XU2u9JfwzQiGIngxK*a%j`&xyOo^leU){A)0)-#f6N(>uKFhkS>)NF^VVkdX>I|mw4DNhi z;Bv+tNj;Bo^;d)*D*?3nyb%5C!_5&N{RsqfQn2)>a!!!|apCI1*j0y`Q>Q?fE31kQ z7A@*zX?=e^zerTbJ5OzR+0-b(|6YO|3oP1DExHq7>fhx&TmD6Q<%S;5Oy3Lo%pl+5 zC1*EX@P|`+Qm-5d9y(M}P;s_s#xc7hZFshh<-{8~7b@*guVK8t(!9b%=o13BtQ2b? zi_WU!nxagnNy8Z(Wlh1a@=ZiVd7 zE#>fuxW7gjH7A(BiY_n}y`UGYdhENP?dQOW8#QxolZEOEZ`2hv@AMSAdw!uAKLpYHOkmnQ@&6dGe^KUTyeBJy9J_-S)0K7Iedp|y*r*DpdZ zybSdKjObvmVIJtKR%eapCMYCWO!xSX#`*g~V_27ffNKq`_Tt0wF?uIVs9zaynBICo zP&8+x*x{>Iw_lYO_iE}VEaFcU7C-pz0B`cvw9(PMs4HGO{VBsXSvN?+MOOfi8(^D!r4ng0iKDFL z#r@&87g)QfH8%RE$>B+x8707rhRe*sA)fstt2!b%kQvp!srW+Z?xAQK`@#mmj5m1{^2Y z!$(acTx^C6@>+q(g(9KeSxDnGq}js~$jku`lcO>R5AWW)W9MUz^AS1c{@i{_;Xv{T zp`7*HvW;CjNmwLDGAv&aG+_G1z=V|QyFg-e8VA`L)efzUTWtiK2FKB-4_Bc>8?J`dbVJwzvoOLakFSt3q^dyE%}t$dieWPZ z(FTl(PdS2;d_uVK&pZyz5F)h<1?*tdsV2z#m8>TA>h<+`NQ^T?Xh8PX(rX7-bRi~I zXA`NmV-ooV(7F1@8{DJ~U?Od=q7`H&)fOQW7A8IyqE5^T&n^bk78$>{0g|GD(4mUU ziDmCZ9LTXG8no3fS@rpb(u&aoyLVcBb52t13GvS6!}p!8y8>)8Q!rY zE-1=h8*&SJN@xNs>-PZqGeS|N19UJS<{hD=#~LwSMrR+yg-J~irWnbwSX4n?-#n}qJByo>6BeoOK>t^m$g%vN#e8DGn^dzGq(uQ81C zAWM%gg6jPrdEw2X2nAmp`mO+A&By{4ZD6u0=2FYv?C-R_IKeb{i>$?4Dbi9-ccl(n zdpuz1N-E$uv!V+|b0H`0f;8K<_G#RDvObGyn|X`h^$adohEzR#3h)a^5BdNu`VJD= z5~_H!aIfkcrSR~eSoS83Z{B}Os0UX2^ws-2-4vm(sj&HlVm%~fCwNRSF;*+radq}< z(?R-%*FF}Le0#?8Tzy!sQSgS6GuGpll828DZQNo|s^asKg^48RH%nf-m&cwgF`pFc zhmIIGkm8ms;1cYskhrA>?5o6Z1IMQr9=#=X(T?{HKgp5CbRsM7CWTgL?A8L$<$Rye zdTnKLYM)&-hc-+Fdfm)uJVAVnUrd4KzfTlX+ES@9`2C_wO+|9E`TJ6i%az8EMFBwA zW17(?#-qaU6I2N7-l|NV>LjM?*exXk!*7?Gbx28H(b`uX+(Z_^ZYGiR8rIkS-=Od8 zlw9_S0ybNI*3VMj?%IvZ8wPo8kXkYaY+b$qb9_C)CQsrtdC_a|c1Q<}zdwCt@x#T1 zyRUXsN#5>ww_aWCE8qw*t`1h{srL6$dtN71PxeV@^hR1Etg&UhC$E*Y3mut>HyaO* zFs4Ia&^#*G>M2mI>>8YwR#z8iH40OwPyXE9oax;-a*x_jaRtjW`OwY7u;I+1CFxqS zPuZ5NAq13yu_<*wsmwpzz;PMf>$kX5Zwa!EZ1;e^-Ha7619oM^J}}xKf0renv3aa@ zPz8F~6?t}gGa{g}MkHH(e@*Xc|Mib!aAW>)G@nM9N}OPbsO^E|(i3^dr{zq}QVyHB zG!CHk)Ad?t5rwRyu@W9Y;0`}cg>;{$Miho~P{9>pEm||P82tW1wAsm@SDQtdZ3FZV z)&^_)JdF1Gc`1*p!+s6nbt0S{6hUU+yL`@`hWEK7iNCQgx{c*?v zU>X=~aLyJ8|EYwYmTV_L{{u7_+~`GdXzGq+!hBd32*xX34MgRfT{{Dqt$xem^(XZR zi7Al1_qu}nD=&nCDgqD4(to*@9UHXbWr#WnTu#vM%S_$&g$vcUyNPmcGUOPkN@FVa zK@v5P3K&+w_c@>D>ajIV5G6$-_DU7ehp;H zlW#WX$WAGcVVPWb7K38l z+bm5!;06#v)_OEvVZTV_Z+iY;ltnBf_!fd@Ruh0pO!GFnt3)rv0%@` z9o{0!Sa<2hcX+(RY4s5tBc@4tEpdY~y`uRui|?7I1gm9}#z;~?U}rp;)V{Fcc^H*= z^>*gqRJ+-YjBZNcb=0PHDx5ZTWNpE>Y=x1vg4|Z#qwQ`~W`#B(-)t)<}gb zU-QgL@bsDQd37S1*o^QqO(_AjWNKO?vBX*@+1?>xhPwRT-gk7I_Jk+2o}!FiDnM6F zu($Nln{J5QU65|yY%%KdE+h?cVS(gdh>inv6@4|=-nbawbv0wbb0!etrQWpu%WX~s zk0$IDMaQ<7bqvm4%_i{4V)~O8)SBsxc1r4vyhp^BP>r{B4LhISBw z0usPd?l>(}bjvnRCsD(moKec0ShWD#M}nZ(qhzXJA$sRCd5a5Pq=->Fq`neZ^Dqr2QLC7bt)``RV)5i^3DA2jMn9)-)_(!}X224NRBhgsY#D^eC!-IemZ?EgVox*<@afn6?pa z#8VPqahR<`7WshmboxgrTKdaxL~He2Zq3a)JD?W&kF4qEryqrxG3*vdLa|W&v_;$* zgJJECP(4jA6RWj^pWh@OmXra`aA8+Y>51y&5|Zv+LMmQBY?Gs6wzy~JrhExlIm?U{ zVk@?)TlzL~oN&i1@O0#FMtJ+t;lPK{!uOk8x(N%?B|dVY2pb|&mU#T}9=-cP zRg-u3?$$K9E(hPS_q`5Z_IVSLZ*J!!63_yd?LztC*wI+4F7hCU)1l@o+v8-^9{NuZ;6*(XNx|8KK&0@Q^OgczTbUx|Hobz9viVu z-88Y}Zo-$^QA_N;du!_rHiaL=hSEvIxRc@XGdiml%F~&LHS6#4llw2JeOU`4+~*IQ z4rCz=o(G4p)^&3!C*M&r-cj79+}>%`@3lCm?m$rBuhsmv@0b1XSDHH?QvVqiN)zxPyS)e6TXz z59xL5OLR7g%yIER6geosJXSnq5Aqx!b#^+WECr*4xjkjxMNDrU9#cmRz|nSh?ISfp zKuhys^CW1=aSWpg=H)bCr{B9UOQ&NBF~b%G9Ch=-iDoagnahhiqmJxfBykj?4S?uj zj>o20!l^4WzFOWnA zv}4IZkH6Q`guzOu2X0%#Qm;eT4WXd-p_O&o_qN~t6~yR#((}Yk6J(rKnv6;XFtZ&H zY93Z;ndSJtNV>%Dw$#rI<;%rlQ>l3L=syaMn$L7ZfVPlSN~LX<4!G2;_AD&F-ub#5 zPnPFX<13pDBr8?dO60jZaF)YUxtt6TOuDe0 z#9H{X+UterwhwwrmcVN36mp*H!ohDozImwFW=A$wqmYv}N%*XHtw(#aWlssd(8Ea= zTkm82VlQ_oW|OulK>lk>qWnRO9Jrv6>**4-^#W;6AzED?SF+svZ;@`WJH8TxUl_c@ zza-`tSc||`@EJnnvfvRGoiRGF_)E@w`?w!6zo@-uYt1WKgEIy4S{IlTSw*33buBKp zAG&C}6d!SSFdi*G-18bSZFmgW5L3y~zE@g~_Mu+Es^Ipp@376fT~W3g_UN zJfZ1Yc}60PAg(C;r$Gqw)n{aGWGAFVJ0)UCl@qz#c<+}}xL1(gWNP_YM1jV$ZLcnhL3^Mg~`E8mX>jKeCV4onM$6}A_LPqK}}p$ZO$p-teG#U?xb`pMZJj$?KP zN4(wDM4JhY)|<^3Oim=!+JYMFBV)`I+uTA+d!PsyFrxD_uy({qKjS-|?tVFYvj7Zh zE~r5>vU(^Gg|4%vZkrVK)@OH{s7%q}N`L*Se-sS6(ROG(2ym3)ZczlR%3V>RFB2%+pj7# zB#qJ5DFA$SOJvt~(_T;)u`X|94AU?IN8>NOKA(xqY+YDcqv~1hv|)YJ#{p_W(}5M3 z{j=u$P{M5tBakd! z%tdd~#-3{;9k@2gd&;GX{s0KdIj$7??H|=PF988>vEtF0bwt?RulK$JF`62tMv44F zr*mf#OhdyPOzz%(0Ap(fp%!n_nkyWAPxO{u;Qv;odEqFq^($1;@!?7jd;D(zRT6#$ zM@P?VeAOdpJw}8{UKKu6G#mIqDuW&Y1p+{zvPko=!C`CF`)yA|0GmuBcn(({(4E-Y z=~XSj2;6^M@(*a0y$36!IPoJ?zp*g{wP9ThLb4Wa&1w&cbv3T1Zy%yIZeNGUAa0Vg zmdK6!^vc?}1MoSr%ph9+nFIjQACBW`p3kk|4DqD_1nL+77>(uzXBhV$8y? zXQuXs7`lLJV?`ATbQ||lvBVgZPb&igp;YcY^{ESs(->_%Fv4dCr8o+VRgB%|lSBKdSORfVYfclRkCa;q!4fLwOA3d&mW1gumn z_22Q;jHj|zBD59^OMLd9_>VR#ml|K%3W(6Bz^hw-_kX>hJqt(vou@h$%_%bAjQbuR z8AQ8uxr!Nbu}t9J!j$Q8$mbr$tBx=z)7}rr0%mtSp2|W|N@j=f1CKY+jJktdDNuWddPb?$e10`@`|Sm?O&J{e~q;Y+zo*>@48dOy`FEiJ?J zxh}<@&(t-uKXnv}Vi~ohhvl>V5z@f~6psCqPRb}*a;uNELy?Upk&e(+twCG1JlTKC z^Gu)h34Z~GH3+Bz?tR0%_R$(O8}6it8sAFBBcpIM?w?ozdV8D#U;htoeKoV#ZoJ{p zOS4%$I5@eyI&<<1_vZ2l1MvUs$;5UP(>F-Cqpv`+V!ul>{za!;$9UI9(}iDW`V;sUk!Q zwr6_`U)N_fzL-AE3c1dd;6>8E5qDOD2RwcI!anz~FuAurod*U=1AZB&Te7y<=K3NE zPNi~1iAGa#2CFRTzIyoTxWIUf^r*9|R_7dXjriey($BAyPwd=M^#M=Rb$vkw6G^-G z*X|{0IIL=bP(mZdRL?k1x@gD^!C`bAdau;2_(G?~h zam>n5oaeO;>iXKv+-bED+{0MiJlaJMaeaN%Vby1+LY3SOx+qy@i}5M<#ofIqj*||l z9#WzP?O-QG_Y|F}Fv`52d%Zr1aORe4xrD}`xEbz7Mw?yRFnyc|EoX;=@_y1rm}>iq z(cjsUbi`#y*h{#OsOoFtnw$5R@&kT|wn~q%x*m>kfB1Q@gA-+-`m9p0SQ?5&743T9 zFo_m9-F<-UGv1~AP7qx`Ng3$djWaA*aUPdbIei+_Ytvs_eX}|c8((Q9td`_yV7Tz) zQl@mnSHTLejmKc=Mw5L5U0RbQ&t)r=^Z1m?Y2poS7jo%3^mZJ6TqC4hG9S}%!1cvj z5r)>WD@Y>`OM(Ep-WzbUBF}|RTn$&BffPh~c_d6C_bXBGVnROrb1%{LLH5)H|F$z9k@p_?>s9qLxrw1) z@#DWuw)SP0oRRM5~ z;i?c4OjUrMh7(Si2W#t1|4p6G#+{oio+#E|OQ~+Y0z@Ve*}1FMK>n<6yzE6;<94`+xo&sjF6vt7-qr#jdM2G0fkVf;wT%OGgvZw_c&CYhb~#4pD3i#=p4 zB`;PXh#|K(`vQSa%R@qGOl-K&Aukjz( ztHbgXw4~`)OK7SL zCSHQf#(=wyP`p9)1uuxT5X#G}f;0X>pqyTFv_gnE+`VWWgu%~|&7#dLYEq^TfaY9V z9AGmzLSXl^^H+#5Na{VX)>hDzbT#}B+2)}lrNG1&Oj#V*b1=xZ3(W5|)&ZDZC zI!Mz91bW=?(O&VZBb}+gEtkrC9cx?jjhz}s!%BcDGNXXp|GOkGw3tcYp>2s?`~kQV z4?yW53Y?>EyR7k0s}bB=pj43f&8gMwXM4|kt)TliDDLc_7wzwS-2|XM53`vNfIFhv z^a+P@u_sTmbR3M4y}cSOzxv5xS9XGh>Hj2IeK~-%opBYA9M8rm>DmUlDYn%+MZ{zM z--BTr>TZD4Rk>ov69!KJ=UpIG$~C9EZRK0&GEKNadcz9XxnpZdqAiIb0M|Yn;*+F*rZoi znof=h&u~d--YR|740f}%4}<9e;o0BnKLkVir^eT?ue*O-H32oebV_&v)ateS*hv=+ zOKNd{0sQ(DlzaUGOM6Qwrzi3Z4o4(RKF1z`JGTmzyBDC*^2q)_CJT@PDS#C8gfOJx z;FJWPb=w3=chx=1+-zYcoi4A5>jm9(_Wvx#rx%Q38SZ=#6um|J{hoz0$CCe{8T;f` zr)vJQIp_b6L`ajr8l|{yiJ=}E-qv7u7N~Ukt;MqSaA5QEDGqa63@yWjyt-K{@=wva zmp{lX@lU`4m}DiuB)!Fr@We8b3DrMA#62N5h%eO=VPin; zd&nWsGY80()*kago9Rd1(|Pq18($QkPHZz2R}w&S$>7SDt#`GaSz*a@B4MBKuTeO- z+9EYT#3~jmhu^7VJOE^Ocgsz$0p~s3UDs9HEA}k~Jy)A3K8$Ld{ItEnW-^OA|G~2O+ zAzHvK!1!C(vdktAuw~U8)(b`HhK)SJeOL(tMs1Gn1y4U5c?37zI1}9zMJYJxX?hgi zPv9RkAiUBVf1^i2CD)2qrQiq;H_92+J?A!ULc~RcD)8muFQqLV6v^H>?7CL4nAalX zlXcz4v8=RrWCtc**=b@tH&C8aTzO^L0`YWvqEH~t4AJ|@U_YWN79+ayECK?XGTIy1 z+(<`FdHh;SOce^G$Yayl9VBG1-?v&hEP~x~9fqq;9O5Jx#9|Ht18Z&)qk4(#0npf* zQ|uRQu{Fop?fDivb_dFfDgPZhP7{nv#5^vb)h!A1XDgs@fnZiL5C=KEkW;1Hz|^BT zfpKgN!}0>h*&PyPK!%NyyRf;j>Y8kM_}H3x1y*281Z7`~od{d9VT+vr&|=_$B=*2v zhvACsj#jbiC)q6~Ry{N?904pUeyWs*y|~h;(*5i8j8B;a_M8Uv~EM<%h zN;Heut;U9dhh_K1W8*9vICT(lh}~&2e6nH-h^ET29|CLy=3N&3*zI6pU=LeAnhjqP zTi-QZmWVN#bYZ^^lt5;igASDE*Ooc-P>x>@2LT#nqohmN24RfL=x6VDbXAZ0#eBAo zIwi9A>;$(S6}Zc@#eLlM+T%PhMtq37V#_ETd&EcA*kVh_PR09x1ved$uV!k7f!K01 z-HX}V`cW#%!+UGct&jd}^&Jmz+OaJ|ybM}t#73z})uq}Fq9(i5_0sLpAItcsLVe5=>g$*mkOY%zX{P)`S>AfTuY+P+rDpE~G8NQi0@*E@x`x$lI5+ z56|9>P&|}J7Eeyg+@&-ie3MQ1{0UmXhkZ(vFxpX3jaR@TZPZ} zQ*g@GiIU%2FpTg@sCE1w$ysT+b$?5Dp49{V1x+r=I*M>`cKL)^7x4(;(=|{1PB1x|0yZB{g+t^`*3-kQ+`3b&0Egm@xflhP;V7 zisR;ylW?$Y$#wTCQ8?vP#thaM7-stfIIWWJv(c1(W4(2PSQ?|54&LJILlOiGUX{1$ zvvxf~;p54#pRmI*nzo~Vc`)UCZ^60oCwny>yhemQD3>b-2t^qvV`f%240`IIBfzDu z`&ss0lM>h}1u}SjKQSL}u}oNfcqD~*G|F3|g|3xg5uCr{4?lyxh~9l~q&8su5O{%+ zK)cM(K!jQBpEPyT!j7wT#4j^BurBN3rng_1A_x;2@-3nvB*!qQXKR7_=R`absDvm) zQTW;^o!?n@NSY9-Ga&k5)4IGZ-ndZXtaC$BnCWGGIGF!p-~dnwY=SZ}*VXBGG$n>3 zQlnn_elhq2-(z;!29rK9cYl8WmbU1-0HdLwjPiyA1lim+eDVM(Ej4%Fx$+Omz;Xpy z?_5}rn|N=!O8d}K)NI*ByiOTDLCFTr8n`Z{0hydPE7|wYrVXd0<-U#FVpwEBDw%pd z#&Imm0VME)*U{E1#3{k{55H=CiR4+0H>X@0Uo9cwFZmRW;mO55X+3MU3F;3UjC=@v z0LHKT01lJUa`^jSjIRL}tnrO~(ougW1q_Qj@o%N2=kB*`-?HEpEsHq&{JOBmCFFv0 zS$o0T=`6LAVU6NFtMTik^+N5}?_6f%3Y#uhvn%%8l?H0;Neu;Gb0>Ax;h@|D8?t-B zcp$mMidK@jqYwBV>7^*VAsBarHrzPf&t0cQB4xr;xRtu0Xf3Jv0N-#PJbkyOXq9-K zzv{z&U4prwlW-E?*p!$u0pV_d-u(LEc|-k*LP#dY*tomzF=LZ-;`EGMw{yk}(Xx-e z_sflpYLC^x{>Yn~?ip>@_^$W4_F3?n?(z92yR~RO+SVv2rY+(}2gzC?Bjs~7 zC)uhu(S2N;5>k-8f2+JN-G@u;%_h4{b#>q{!S}I(z~OOUu3GT)$pDlMOhNz(xT4&Q zBq+7tB9}YYGPqzWVV>gb|=xBZ?6x1LWJ$wVG#spcdQb8;34SMj@|LZQ7foN7! zyrnMFkF`lv{j)PTP*&FQFVcYj;tR~H z&&Pk^sR!L;P-%+ljBdeyhFJI49DtI?55rQ!?X2#0I+eOp=H>HNuDuyT`#CO@ip$O74LGcIRs~eB-R0P5f$q)C<8v>X zR1-X7PaYH)3Xyu$vd>G6%xj=2)PvsFj>bvqCsx)q!D4#Q40n||=yz}DQ~m0&x!^Wt zPG;!cj&8J)qkqSJgpyS9m4nu!$)=pMwkFta zi=$jw`z>93m2`OqzsC~e8S|M$+BW(;2&#iq%Ards1JL?pYe^XrywO9pI={Xn>6>{k|%j8 zOzlw%XH7=fiG)yo@^tiMoBjnt*2JA4jM5B676MshbQ*TrASE`hFGGlVHbmo0h;+GQ z$9cNJ>pw?#% z2d9)=vrh~6ql?78d7Uwr#lnwb^IrKu-t?pd9VMNci|FQj!{vFH$DV2a^W@&XRInu@ zI;;f6BX?YS2XouG2FGhxrstQH0_DvXMUGvwy8snDeP#3BvxfI<;i6Mks%Rl%V)RCC zy32D)_)oektMa(CXA^T?omcb5^v^u&tI2W$!N=cwxzR0XD$Q!n&EYD|;O{!lP=>KA zgAm2ke#<%_Bpv<0zBFZMaDY|%0)<27t*Kl|F@Cy%XA8GG7G_9#eu(AwdrnrsGw>jQ ziay^|qHDJDR0H1>0T9<5uHH<*=s5pkxzsN}5-%Q?UVhAyjq*urRW<@_`;)=1ak}+4 z{$jWsi{#W@-rL0^pLO}C!UgD8tO7HDj%B7n+yOA|c+?w|6C3CPP zT_AL0IIVS7V&}ng)?S_$=b^dnF{(e22YlNnj~J-8@b1pF!hdN*9T=9VY@`pS}fQ+4(e$`V}(yo7PFZB&HyE%JqHoZA}>auE~c&uWZddKFBLD4mQexR9=t1-^m zJZZ$ty-=zupVIiLliaQntaPLJ3Czq^a)bpQ`j9Chee({Er6%$5w7$U_L%o!DJp7Zs zyF;fzk+y{djF0_g$o`6Cf7P?UNWfQvRUQ@fEL*yd`H^(8vyVa{%gu;rg->^C;C0Y1 z*BCwcuv;N|(Mcnu+O&aebm9B;P|p)pc)UiTuD;c^B~5hFh%qTB$Np-OWEW?c&n{ek z7FWMUjX{>YP1ybf)wkM9nQ2$TzUfV4wL`_5iGF1dKLlOj59WC;hnPF6Jr^}EeAe>^ z)gXOpZkl2#s_zaO(z?pyJKd}8u50UZ7;Otus`tjY=*Q=#x+jhJh9-@$8lb7~q1flE zB$;fIbl1N1<_UWIdKRxBMPz5b%yU}rk=A}aE~2_t@363-!5lSP7xOFT3uS!Op0r$n zxNV$98D|m_OaandSyMrJtgF0%vg?ie9NPYnpYmz*9PVf&>f*a${urfbn)s%&NH~i|W1(1fFAgBgv`DA}H(K2_m zKvl7gxYwzy*0g@Y?q)|N?b4yFBJ2B*-T|xFY!AD-rFS0DBR9iG9)HfqBH<`o5~J0% zt28*^i&~D)o)^yNk~wnTZMP`5{i1p-z4*?#l-X_aZpY4gU#{u8U%3+NVz)EinLAG1 z(a|Oj;%M_zW2Cd9Pj(?;`rA>=&*abe3y)ejUY|5H(G@rr5^#R3CMSC2r29)j1*?xb zN;2Ar>|ZNB6-~wb`@Xfrb={VD!tGjS7wW@OUG-;(IIE|$WI+2}HHY`)*duz@Zl|Dx%TcRN zW?gR$U!FSUaNSR~|HI=L%n*99#6LDAS_qTAILFJ6mV4u7Ui8TN!{Unw#ZB_b{!SnF zJ9_tid4599u8$1M#6Ku9EwNoGO1WQEFJ)TvwJqhoq|oG2s)x+^Q`PS-749}|@3NI& zIISby9yqBUA0y`}{LpkGYj=W6`voj5E8P+7KOtXyBHbUSep0jfGe5CBIN#%p<;#IO zi|wht%bzd5lAIHy&NTW|Yk1$e86^@WU^6J<1eHzl}}G|CwV=x z)z|Ki&IL_>7q(X0WvlUE<#2CDmrLr%H=?3x{=`@XXw8XUa*4T~TtgkH?N`+4ddNX)T@AS?858FKZ0{{R3 diff --git a/lab2CA.sim/sim_1/behav/xsim/xvlog.pb b/lab2CA.sim/sim_1/behav/xsim/xvlog.pb index 8e95672bb6601137af38e01e280adf05ee5a7620..8eae0ad7b5e111eaf0b913bcfe1289daa178baf5 100644 GIT binary patch delta 363 zcmbPj-QhGLi$66vH77Ai-__aG*woxWcd`JJ+{WoyjOgN<1(;k!(FH+@H#dqmVWe+uehYBG`S=*KM!F8W8!2+4lNN?E-ca@+m4Cq UVUYn^I{BG&Cf4Aok&$Nv03(BQPXGV_ delta 155 zcmeBhnr%HHi{C51IMp*fFEKeYU*FkLVX^>|+{WoyjOgN<1(;k!(FH+@H#dqmVW - +