From 259f6d5803718e7a068c32b9d56d560df50ca398 Mon Sep 17 00:00:00 2001 From: aleandro Date: Fri, 12 Jun 2026 20:37:03 +0200 Subject: [PATCH] Initial commit --- INFO/PFRL_Regole_2526.md | 229 + INFO/PFRL_Specifiche_2526_V2.md | 660 ++ INFO/Relazione.tex | 793 +++ progetto_reti_logiche.cache/sim/ssm.db | 10 + progetto_reti_logiche.cache/wt/project.wpc | 4 + progetto_reti_logiche.cache/wt/synthesis.wdf | 52 + .../wt/synthesis_details.wdf | 3 + progetto_reti_logiche.cache/wt/webtalk_pa.xml | 21 + progetto_reti_logiche.cache/wt/xsim.wdf | 4 + .../progetto_reti_logiche.lpr | 7 + .../README.txt | 1 + .../.jobs/vrs_config_1.xml | 13 + .../.jobs/vrs_config_10.xml | 13 + .../.jobs/vrs_config_11.xml | 13 + .../.jobs/vrs_config_12.xml | 13 + .../.jobs/vrs_config_13.xml | 13 + .../.jobs/vrs_config_14.xml | 13 + .../.jobs/vrs_config_15.xml | 13 + .../.jobs/vrs_config_16.xml | 13 + .../.jobs/vrs_config_17.xml | 13 + .../.jobs/vrs_config_18.xml | 13 + .../.jobs/vrs_config_19.xml | 13 + .../.jobs/vrs_config_2.xml | 13 + .../.jobs/vrs_config_20.xml | 13 + .../.jobs/vrs_config_21.xml | 13 + .../.jobs/vrs_config_22.xml | 13 + .../.jobs/vrs_config_23.xml | 13 + .../.jobs/vrs_config_24.xml | 13 + .../.jobs/vrs_config_25.xml | 13 + .../.jobs/vrs_config_26.xml | 13 + .../.jobs/vrs_config_27.xml | 13 + .../.jobs/vrs_config_28.xml | 13 + .../.jobs/vrs_config_29.xml | 13 + .../.jobs/vrs_config_3.xml | 13 + .../.jobs/vrs_config_30.xml | 13 + .../.jobs/vrs_config_31.xml | 13 + .../.jobs/vrs_config_32.xml | 13 + .../.jobs/vrs_config_33.xml | 13 + .../.jobs/vrs_config_34.xml | 13 + .../.jobs/vrs_config_35.xml | 13 + .../.jobs/vrs_config_36.xml | 13 + .../.jobs/vrs_config_37.xml | 13 + .../.jobs/vrs_config_4.xml | 13 + .../.jobs/vrs_config_5.xml | 13 + .../.jobs/vrs_config_6.xml | 13 + .../.jobs/vrs_config_7.xml | 13 + .../.jobs/vrs_config_8.xml | 13 + .../.jobs/vrs_config_9.xml | 13 + .../synth_1/.Vivado_Synthesis.queue.rst | 0 .../synth_1/.vivado.begin.rst | 5 + .../synth_1/.vivado.end.rst | 0 progetto_reti_logiche.runs/synth_1/ISEWrap.js | 270 + progetto_reti_logiche.runs/synth_1/ISEWrap.sh | 85 + .../synth_1/__synthesis_is_complete__ | 0 .../synth_1/gen_run.xml | 47 + progetto_reti_logiche.runs/synth_1/htr.txt | 10 + .../synth_1/incr_synth_reason.pb | 1 + .../synth_1/project.wdf | 31 + .../synth_1/project_reti_logiche.dcp | Bin 0 -> 54552 bytes .../synth_1/project_reti_logiche.tcl | 107 + .../synth_1/project_reti_logiche.vds | 257 + .../project_reti_logiche_utilization_synth.pb | Bin 0 -> 276 bytes ...project_reti_logiche_utilization_synth.rpt | 188 + progetto_reti_logiche.runs/synth_1/rundef.js | 41 + progetto_reti_logiche.runs/synth_1/runme.bat | 12 + progetto_reti_logiche.runs/synth_1/runme.log | 247 + progetto_reti_logiche.runs/synth_1/runme.sh | 40 + progetto_reti_logiche.runs/synth_1/vivado.jou | 24 + progetto_reti_logiche.runs/synth_1/vivado.pb | Bin 0 -> 24218 bytes .../sim_1/behav/xsim/compile.log | 2 + .../sim_1/behav/xsim/compile.sh | 28 + .../sim_1/behav/xsim/elaborate.log | 17 + .../sim_1/behav/xsim/elaborate.sh | 26 + .../sim_1/behav/xsim/hs_err_pid256439.log | 24 + .../sim_1/behav/xsim/project_reti_logiche.tcl | 11 + .../behav/xsim/project_reti_logiche_behav.wdb | Bin 0 -> 13294 bytes .../sim_1/behav/xsim/project_tb.tcl | 11 + .../sim_1/behav/xsim/project_tb_behav.wdb | Bin 0 -> 396500 bytes .../sim_1/behav/xsim/project_tb_edge.tcl | 11 + .../behav/xsim/project_tb_edge_behav.wdb | Bin 0 -> 19872 bytes .../sim_1/behav/xsim/project_tb_edge_vhdl.prj | 7 + .../sim_1/behav/xsim/project_tb_timing.tcl | 11 + .../behav/xsim/project_tb_timing_behav.wdb | Bin 0 -> 15322 bytes .../sim_1/behav/xsim/simulate.log | 147 + .../sim_1/behav/xsim/simulate.sh | 26 + .../sim_1/behav/xsim/xelab.pb | Bin 0 -> 1688 bytes .../Compile_Options.txt | 1 + .../TempBreakPointFile.txt | 1 + .../obj/xsim_0.lnx64.o | Bin 0 -> 19392 bytes .../project_reti_logiche_behav/obj/xsim_1.c | 110 + .../obj/xsim_1.lnx64.o | Bin 0 -> 4224 bytes .../project_reti_logiche_behav/xsim.dbg | Bin 0 -> 5544 bytes .../project_reti_logiche_behav/xsim.mem | Bin 0 -> 3370 bytes .../project_reti_logiche_behav/xsim.reloc | Bin 0 -> 697 bytes .../project_reti_logiche_behav/xsim.rlx | 12 + .../project_reti_logiche_behav/xsim.rtti | Bin 0 -> 581 bytes .../project_reti_logiche_behav/xsim.svtype | Bin 0 -> 16 bytes .../project_reti_logiche_behav/xsim.type | Bin 0 -> 7632 bytes .../project_reti_logiche_behav/xsim.version | 1 + .../project_reti_logiche_behav/xsim.xdbg | Bin 0 -> 5640 bytes .../xsimSettings.ini | 50 + .../project_reti_logiche_behav/xsimcrash.log | 0 .../xsim.dir/project_reti_logiche_behav/xsimk | Bin 0 -> 31280 bytes .../project_reti_logiche_behav/xsimkernel.log | 7 + .../project_tb_behav/Compile_Options.txt | 1 + .../project_tb_behav/TempBreakPointFile.txt | 1 + .../project_tb_behav/obj/xsim_0.lnx64.o | Bin 0 -> 35624 bytes .../xsim.dir/project_tb_behav/obj/xsim_1.c | 115 + .../project_tb_behav/obj/xsim_1.lnx64.o | Bin 0 -> 4520 bytes .../xsim/xsim.dir/project_tb_behav/xsim.dbg | Bin 0 -> 10288 bytes .../xsim/xsim.dir/project_tb_behav/xsim.mem | Bin 0 -> 9540 bytes .../xsim/xsim.dir/project_tb_behav/xsim.reloc | Bin 0 -> 1098 bytes .../xsim/xsim.dir/project_tb_behav/xsim.rlx | 12 + .../xsim/xsim.dir/project_tb_behav/xsim.rtti | Bin 0 -> 1436 bytes .../xsim.dir/project_tb_behav/xsim.svtype | Bin 0 -> 16 bytes .../xsim/xsim.dir/project_tb_behav/xsim.type | Bin 0 -> 8496 bytes .../xsim.dir/project_tb_behav/xsim.version | 1 + .../xsim/xsim.dir/project_tb_behav/xsim.xdbg | Bin 0 -> 6064 bytes .../project_tb_behav/xsimSettings.ini | 50 + .../xsim.dir/project_tb_behav/xsimcrash.log | 0 .../xsim/xsim.dir/project_tb_behav/xsimk | Bin 0 -> 40616 bytes .../xsim.dir/project_tb_behav/xsimkernel.log | 7 + .../project_tb_edge_behav/Compile_Options.txt | 1 + .../TempBreakPointFile.txt | 1 + .../project_tb_edge_behav/obj/xsim_0.lnx64.o | Bin 0 -> 197224 bytes .../project_tb_edge_behav/obj/xsim_1.c | 116 + .../project_tb_edge_behav/obj/xsim_1.lnx64.o | Bin 0 -> 4616 bytes .../xsim.dir/project_tb_edge_behav/xsim.dbg | Bin 0 -> 14240 bytes .../xsim.dir/project_tb_edge_behav/xsim.mem | Bin 0 -> 12745 bytes .../xsim.dir/project_tb_edge_behav/xsim.reloc | Bin 0 -> 1035 bytes .../xsim.dir/project_tb_edge_behav/xsim.rlx | 12 + .../xsim.dir/project_tb_edge_behav/xsim.rtti | Bin 0 -> 1000 bytes .../project_tb_edge_behav/xsim.svtype | Bin 0 -> 16 bytes .../xsim.dir/project_tb_edge_behav/xsim.type | Bin 0 -> 8096 bytes .../project_tb_edge_behav/xsim.version | 1 + .../xsim.dir/project_tb_edge_behav/xsim.xdbg | Bin 0 -> 6784 bytes .../project_tb_edge_behav/xsimSettings.ini | 50 + .../project_tb_edge_behav/xsimcrash.log | 0 .../xsim/xsim.dir/project_tb_edge_behav/xsimk | Bin 0 -> 148048 bytes .../project_tb_edge_behav/xsimkernel.log | 7 + .../Compile_Options.txt | 1 + .../TempBreakPointFile.txt | 1 + .../obj/xsim_0.lnx64.o | Bin 0 -> 48176 bytes .../project_tb_timing_behav/obj/xsim_1.c | 115 + .../obj/xsim_1.lnx64.o | Bin 0 -> 4544 bytes .../xsim.dir/project_tb_timing_behav/xsim.dbg | Bin 0 -> 9800 bytes .../xsim.dir/project_tb_timing_behav/xsim.mem | Bin 0 -> 9269 bytes .../project_tb_timing_behav/xsim.reloc | Bin 0 -> 1025 bytes .../xsim.dir/project_tb_timing_behav/xsim.rlx | 12 + .../project_tb_timing_behav/xsim.rtti | Bin 0 -> 930 bytes .../project_tb_timing_behav/xsim.svtype | Bin 0 -> 16 bytes .../project_tb_timing_behav/xsim.type | Bin 0 -> 7872 bytes .../project_tb_timing_behav/xsim.version | 1 + .../project_tb_timing_behav/xsim.xdbg | Bin 0 -> 5824 bytes .../project_tb_timing_behav/xsimSettings.ini | 50 + .../project_tb_timing_behav/xsimcrash.log | 0 .../xsim.dir/project_tb_timing_behav/xsimk | Bin 0 -> 49224 bytes .../project_tb_timing_behav/xsimkernel.log | 7 + .../xil_defaultlib/project_reti_logiche.vdb | Bin 0 -> 25762 bytes .../xsim.dir/xil_defaultlib/project_tb.vdb | Bin 0 -> 27010 bytes .../xil_defaultlib/project_tb_edge.vdb | Bin 0 -> 139571 bytes .../xil_defaultlib/project_tb_timing.vdb | Bin 0 -> 27198 bytes .../xil_defaultlib/xil_defaultlib.rlx | 8 + .../sim_1/behav/xsim/xsim.ini | 1 + .../sim_1/behav/xsim/xvhdl.log | 2 + .../sim_1/behav/xsim/xvhdl.pb | Bin 0 -> 324 bytes .../sim_1/synth/func/xsim/compile.log | 3 + .../sim_1/synth/func/xsim/compile.sh | 32 + .../sim_1/synth/func/xsim/elaborate.log | 36 + .../sim_1/synth/func/xsim/elaborate.sh | 26 + .../synth/func/xsim/hs_err_pid131429.log | 24 + .../sim_1/synth/func/xsim/project_tb.tcl | 11 + .../sim_1/synth/func/xsim/project_tb_edge.tcl | 11 + .../func/xsim/project_tb_edge_func_synth.v | 3225 +++++++++ .../func/xsim/project_tb_edge_func_synth.wdb | Bin 0 -> 73110 bytes .../synth/func/xsim/project_tb_edge_vhdl.prj | 6 + .../synth/func/xsim/project_tb_edge_vlog.prj | 6 + .../synth/func/xsim/project_tb_func_synth.v | 3225 +++++++++ .../synth/func/xsim/project_tb_func_synth.wdb | Bin 0 -> 449049 bytes .../synth/func/xsim/project_tb_timing.tcl | 11 + .../func/xsim/project_tb_timing_func_synth.v | 3225 +++++++++ .../xsim/project_tb_timing_func_synth.wdb | Bin 0 -> 68544 bytes .../sim_1/synth/func/xsim/simulate.log | 152 + .../sim_1/synth/func/xsim/simulate.sh | 26 + .../sim_1/synth/func/xsim/xelab.pb | Bin 0 -> 3278 bytes .../Compile_Options.txt | 1 + .../TempBreakPointFile.txt | 1 + .../obj/xsim_0.lnx64.o | Bin 0 -> 360712 bytes .../project_tb_edge_func_synth/obj/xsim_1.c | 479 ++ .../obj/xsim_1.lnx64.o | Bin 0 -> 29528 bytes .../project_tb_edge_func_synth/xsim.dbg | Bin 0 -> 62792 bytes .../project_tb_edge_func_synth/xsim.mem | Bin 0 -> 76523 bytes .../project_tb_edge_func_synth/xsim.reloc | Bin 0 -> 105718 bytes .../project_tb_edge_func_synth/xsim.rlx | 12 + .../project_tb_edge_func_synth/xsim.rtti | Bin 0 -> 838 bytes .../project_tb_edge_func_synth/xsim.svtype | Bin 0 -> 78 bytes .../project_tb_edge_func_synth/xsim.type | Bin 0 -> 8104 bytes .../project_tb_edge_func_synth/xsim.version | 1 + .../project_tb_edge_func_synth/xsim.xdbg | Bin 0 -> 34288 bytes .../xsimSettings.ini | 50 + .../project_tb_edge_func_synth/xsimcrash.log | 0 .../xsim.dir/project_tb_edge_func_synth/xsimk | Bin 0 -> 280312 bytes .../project_tb_edge_func_synth/xsimkernel.log | 7 + .../project_tb_func_synth/Compile_Options.txt | 1 + .../TempBreakPointFile.txt | 1 + .../project_tb_func_synth/obj/xsim_0.lnx64.o | Bin 0 -> 199112 bytes .../project_tb_func_synth/obj/xsim_1.c | 478 ++ .../project_tb_func_synth/obj/xsim_1.lnx64.o | Bin 0 -> 29440 bytes .../xsim.dir/project_tb_func_synth/xsim.dbg | Bin 0 -> 58840 bytes .../xsim.dir/project_tb_func_synth/xsim.mem | Bin 0 -> 73202 bytes .../xsim.dir/project_tb_func_synth/xsim.reloc | Bin 0 -> 105483 bytes .../xsim.dir/project_tb_func_synth/xsim.rlx | 12 + .../xsim.dir/project_tb_func_synth/xsim.rtti | Bin 0 -> 1274 bytes .../project_tb_func_synth/xsim.svtype | Bin 0 -> 78 bytes .../xsim.dir/project_tb_func_synth/xsim.type | Bin 0 -> 8512 bytes .../project_tb_func_synth/xsim.version | 1 + .../xsim.dir/project_tb_func_synth/xsim.xdbg | Bin 0 -> 33568 bytes .../project_tb_func_synth/xsimSettings.ini | 50 + .../project_tb_func_synth/xsimcrash.log | 0 .../xsim/xsim.dir/project_tb_func_synth/xsimk | Bin 0 -> 172904 bytes .../project_tb_func_synth/xsimkernel.log | 7 + .../Compile_Options.txt | 1 + .../TempBreakPointFile.txt | 1 + .../obj/xsim_0.lnx64.o | Bin 0 -> 211560 bytes .../project_tb_timing_func_synth/obj/xsim_1.c | 478 ++ .../obj/xsim_1.lnx64.o | Bin 0 -> 29472 bytes .../project_tb_timing_func_synth/xsim.dbg | Bin 0 -> 58344 bytes .../project_tb_timing_func_synth/xsim.mem | Bin 0 -> 72783 bytes .../project_tb_timing_func_synth/xsim.reloc | Bin 0 -> 105532 bytes .../project_tb_timing_func_synth/xsim.rlx | 12 + .../project_tb_timing_func_synth/xsim.rtti | Bin 0 -> 768 bytes .../project_tb_timing_func_synth/xsim.svtype | Bin 0 -> 78 bytes .../project_tb_timing_func_synth/xsim.type | Bin 0 -> 7888 bytes .../project_tb_timing_func_synth/xsim.version | 1 + .../project_tb_timing_func_synth/xsim.xdbg | Bin 0 -> 33328 bytes .../xsimSettings.ini | 50 + .../xsimcrash.log | 0 .../project_tb_timing_func_synth/xsimk | Bin 0 -> 177304 bytes .../xsimkernel.log | 7 + .../xsim/xsim.dir/xil_defaultlib/glbl.sdb | Bin 0 -> 5176 bytes .../xil_defaultlib/project_reti_logiche.sdb | Bin 0 -> 171577 bytes .../xsim.dir/xil_defaultlib/project_tb.vdb | Bin 0 -> 27010 bytes .../xil_defaultlib/project_tb_edge.vdb | Bin 0 -> 139571 bytes .../xil_defaultlib/project_tb_timing.vdb | Bin 0 -> 27198 bytes .../xil_defaultlib/xil_defaultlib.rlx | 8 + .../synth/func/xsim/xsim.dir/xsim.version | 1 + .../sim_1/synth/func/xsim/xsim.ini | 1 + .../sim_1/synth/func/xsim/xvhdl.log | 0 .../sim_1/synth/func/xsim/xvhdl.pb | 4 + .../sim_1/synth/func/xsim/xvlog.log | 3 + .../sim_1/synth/func/xsim/xvlog.pb | Bin 0 -> 411 bytes .../sim_1/synth/timing/xsim/compile.log | 5 + .../sim_1/synth/timing/xsim/compile.sh | 32 + .../sim_1/synth/timing/xsim/elaborate.log | 38 + .../sim_1/synth/timing/xsim/elaborate.sh | 26 + .../synth/timing/xsim/project_tb_edge.tcl | 11 + .../xsim/project_tb_edge_time_synth.sdf | 6313 +++++++++++++++++ .../timing/xsim/project_tb_edge_time_synth.v | 2905 ++++++++ .../xsim/project_tb_edge_time_synth.wdb | Bin 0 -> 185525 bytes .../timing/xsim/project_tb_edge_vhdl.prj | 6 + .../timing/xsim/project_tb_edge_vlog.prj | 6 + .../sim_1/synth/timing/xsim/simulate.log | 18 + .../sim_1/synth/timing/xsim/simulate.sh | 26 + .../sim_1/synth/timing/xsim/xelab.pb | Bin 0 -> 3730 bytes .../Compile_Options.txt | 1 + .../TempBreakPointFile.txt | 1 + .../obj/xsim_0.lnx64.o | Bin 0 -> 834560 bytes .../obj/xsim_1.lnx64.o | Bin 0 -> 563480 bytes .../obj/xsim_2.lnx64.o | Bin 0 -> 480 bytes .../project_tb_edge_time_synth/obj/xsim_3.c | 3006 ++++++++ .../obj/xsim_3.lnx64.o | Bin 0 -> 212352 bytes .../project_tb_edge_time_synth/xsim.dbg | Bin 0 -> 153496 bytes .../project_tb_edge_time_synth/xsim.mem | Bin 0 -> 196167 bytes .../project_tb_edge_time_synth/xsim.reloc | Bin 0 -> 280293 bytes .../project_tb_edge_time_synth/xsim.rlx | 12 + .../project_tb_edge_time_synth/xsim.rtti | Bin 0 -> 838 bytes .../project_tb_edge_time_synth/xsim.svtype | Bin 0 -> 78 bytes .../project_tb_edge_time_synth/xsim.type | Bin 0 -> 8104 bytes .../project_tb_edge_time_synth/xsim.version | 1 + .../project_tb_edge_time_synth/xsim.xdbg | Bin 0 -> 32880 bytes .../xsimSettings.ini | 50 + .../project_tb_edge_time_synth/xsimcrash.log | 0 .../xsim.dir/project_tb_edge_time_synth/xsimk | Bin 0 -> 996720 bytes .../project_tb_edge_time_synth/xsimkernel.log | 7 + .../xsim/xsim.dir/xil_defaultlib/glbl.sdb | Bin 0 -> 5180 bytes .../xil_defaultlib/project_reti_logiche.sdb | Bin 0 -> 158245 bytes .../xil_defaultlib/project_tb_edge.vdb | Bin 0 -> 139571 bytes .../xil_defaultlib/xil_defaultlib.rlx | 6 + .../synth/timing/xsim/xsim.dir/xsim.version | 1 + .../sim_1/synth/timing/xsim/xsim.ini | 1 + .../sim_1/synth/timing/xsim/xvhdl.log | 2 + .../sim_1/synth/timing/xsim/xvhdl.pb | Bin 0 -> 309 bytes .../sim_1/synth/timing/xsim/xvlog.log | 3 + .../sim_1/synth/timing/xsim/xvlog.pb | Bin 0 -> 413 bytes progetto_reti_logiche.srcs/sim_1/new/Custom.v | 620 ++ .../sim_1/new/project_tb_edge.vhd | 1620 +++++ .../sim_1/new/project_tb_timing.vhd | 351 + .../sim_1/new/tb2526.vhd | 207 + .../sources_1/new/progetto_reti_logiche.vhd | 407 ++ .../imports/synth_1/project_reti_logiche.dcp | Bin 0 -> 54533 bytes progetto_reti_logiche.xpr | 265 + project_tb_behav.wcfg | 158 + project_tb_edge_behav.wcfg | 110 + project_tb_edge_behav1.wcfg | 79 + project_tb_edge_func_synth.wcfg | 143 + 305 files changed, 32830 insertions(+) create mode 100644 INFO/PFRL_Regole_2526.md create mode 100644 INFO/PFRL_Specifiche_2526_V2.md create mode 100644 INFO/Relazione.tex create mode 100644 progetto_reti_logiche.cache/sim/ssm.db create mode 100644 progetto_reti_logiche.cache/wt/project.wpc create mode 100644 progetto_reti_logiche.cache/wt/synthesis.wdf create mode 100644 progetto_reti_logiche.cache/wt/synthesis_details.wdf create mode 100644 progetto_reti_logiche.cache/wt/webtalk_pa.xml create mode 100644 progetto_reti_logiche.cache/wt/xsim.wdf create mode 100644 progetto_reti_logiche.hw/progetto_reti_logiche.lpr create mode 100644 progetto_reti_logiche.ip_user_files/README.txt create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_1.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_10.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_11.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_12.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_13.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_14.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_15.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_16.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_17.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_18.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_19.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_2.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_20.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_21.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_22.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_23.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_24.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_25.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_26.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_27.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_28.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_29.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_3.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_30.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_31.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_32.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_33.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_34.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_35.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_36.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_37.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_4.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_5.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_6.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_7.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_8.xml create mode 100644 progetto_reti_logiche.runs/.jobs/vrs_config_9.xml create mode 100644 progetto_reti_logiche.runs/synth_1/.Vivado_Synthesis.queue.rst create mode 100644 progetto_reti_logiche.runs/synth_1/.vivado.begin.rst create mode 100644 progetto_reti_logiche.runs/synth_1/.vivado.end.rst create mode 100755 progetto_reti_logiche.runs/synth_1/ISEWrap.js create mode 100755 progetto_reti_logiche.runs/synth_1/ISEWrap.sh create mode 100644 progetto_reti_logiche.runs/synth_1/__synthesis_is_complete__ create mode 100644 progetto_reti_logiche.runs/synth_1/gen_run.xml create mode 100644 progetto_reti_logiche.runs/synth_1/htr.txt create mode 100644 progetto_reti_logiche.runs/synth_1/incr_synth_reason.pb create mode 100644 progetto_reti_logiche.runs/synth_1/project.wdf create mode 100644 progetto_reti_logiche.runs/synth_1/project_reti_logiche.dcp create mode 100644 progetto_reti_logiche.runs/synth_1/project_reti_logiche.tcl create mode 100644 progetto_reti_logiche.runs/synth_1/project_reti_logiche.vds create mode 100644 progetto_reti_logiche.runs/synth_1/project_reti_logiche_utilization_synth.pb create mode 100644 progetto_reti_logiche.runs/synth_1/project_reti_logiche_utilization_synth.rpt create mode 100644 progetto_reti_logiche.runs/synth_1/rundef.js create mode 100644 progetto_reti_logiche.runs/synth_1/runme.bat create mode 100644 progetto_reti_logiche.runs/synth_1/runme.log create mode 100755 progetto_reti_logiche.runs/synth_1/runme.sh create mode 100644 progetto_reti_logiche.runs/synth_1/vivado.jou create mode 100644 progetto_reti_logiche.runs/synth_1/vivado.pb create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/compile.log create mode 100755 progetto_reti_logiche.sim/sim_1/behav/xsim/compile.sh create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/elaborate.log create mode 100755 progetto_reti_logiche.sim/sim_1/behav/xsim/elaborate.sh create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/hs_err_pid256439.log create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/project_reti_logiche.tcl create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/project_reti_logiche_behav.wdb create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb.tcl create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_behav.wdb create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_edge.tcl create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_edge_behav.wdb create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_edge_vhdl.prj create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_timing.tcl create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_timing_behav.wdb create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/simulate.log create mode 100755 progetto_reti_logiche.sim/sim_1/behav/xsim/simulate.sh create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xelab.pb create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/Compile_Options.txt create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/TempBreakPointFile.txt create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/obj/xsim_0.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/obj/xsim_1.c create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/obj/xsim_1.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.dbg create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.mem create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.reloc create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.rlx create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.rtti create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.svtype create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.type create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.version create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.xdbg create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsimSettings.ini create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsimcrash.log create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsimk create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsimkernel.log create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/Compile_Options.txt create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/TempBreakPointFile.txt create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/obj/xsim_0.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/obj/xsim_1.c create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/obj/xsim_1.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.dbg create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.mem create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.reloc create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.rlx create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.rtti create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.svtype create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.type create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.version create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.xdbg create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimSettings.ini create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimcrash.log create mode 100755 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimk create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimkernel.log create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/Compile_Options.txt create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/TempBreakPointFile.txt create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/obj/xsim_0.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/obj/xsim_1.c create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/obj/xsim_1.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.dbg create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.mem create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.reloc create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.rlx create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.rtti create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.svtype create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.type create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.version create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.xdbg create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimSettings.ini create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimcrash.log create mode 100755 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimk create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimkernel.log create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/Compile_Options.txt create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/TempBreakPointFile.txt create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/obj/xsim_0.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/obj/xsim_1.c create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/obj/xsim_1.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.dbg create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.mem create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.reloc create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.rlx create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.rtti create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.svtype create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.type create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.version create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.xdbg create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsimSettings.ini create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsimcrash.log create mode 100755 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsimk create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsimkernel.log create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/xil_defaultlib/project_reti_logiche.vdb create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/xil_defaultlib/project_tb.vdb create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/xil_defaultlib/project_tb_edge.vdb create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/xil_defaultlib/project_tb_timing.vdb create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/xil_defaultlib/xil_defaultlib.rlx create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.ini create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xvhdl.log create mode 100644 progetto_reti_logiche.sim/sim_1/behav/xsim/xvhdl.pb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/compile.log create mode 100755 progetto_reti_logiche.sim/sim_1/synth/func/xsim/compile.sh create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/elaborate.log create mode 100755 progetto_reti_logiche.sim/sim_1/synth/func/xsim/elaborate.sh create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/hs_err_pid131429.log create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb.tcl create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge.tcl create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge_func_synth.v create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge_func_synth.wdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge_vhdl.prj create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge_vlog.prj create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_func_synth.v create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_func_synth.wdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_timing.tcl create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_timing_func_synth.v create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_timing_func_synth.wdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/simulate.log create mode 100755 progetto_reti_logiche.sim/sim_1/synth/func/xsim/simulate.sh create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xelab.pb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/Compile_Options.txt create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/TempBreakPointFile.txt create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/obj/xsim_0.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/obj/xsim_1.c create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/obj/xsim_1.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.dbg create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.mem create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.reloc create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.rlx create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.rtti create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.svtype create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.type create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.version create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.xdbg create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimSettings.ini create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimcrash.log create mode 100755 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimk create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimkernel.log create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/Compile_Options.txt create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/TempBreakPointFile.txt create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/obj/xsim_0.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/obj/xsim_1.c create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/obj/xsim_1.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.dbg create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.mem create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.reloc create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.rlx create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.rtti create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.svtype create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.type create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.version create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.xdbg create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsimSettings.ini create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsimcrash.log create mode 100755 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsimk create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsimkernel.log create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/Compile_Options.txt create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/TempBreakPointFile.txt create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/obj/xsim_0.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/obj/xsim_1.c create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/obj/xsim_1.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsim.dbg create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsim.mem create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsim.reloc create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsim.rlx create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsim.rtti create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsim.svtype create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsim.type create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsim.version create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsim.xdbg create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsimSettings.ini create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsimcrash.log create mode 100755 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsimk create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_timing_func_synth/xsimkernel.log create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/xil_defaultlib/glbl.sdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/xil_defaultlib/project_reti_logiche.sdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/xil_defaultlib/project_tb.vdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/xil_defaultlib/project_tb_edge.vdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/xil_defaultlib/project_tb_timing.vdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/xil_defaultlib/xil_defaultlib.rlx create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/xsim.version create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.ini create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xvhdl.log create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xvhdl.pb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xvlog.log create mode 100644 progetto_reti_logiche.sim/sim_1/synth/func/xsim/xvlog.pb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/compile.log create mode 100755 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/compile.sh create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/elaborate.log create mode 100755 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/elaborate.sh create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/project_tb_edge.tcl create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/project_tb_edge_time_synth.sdf create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/project_tb_edge_time_synth.v create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/project_tb_edge_time_synth.wdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/project_tb_edge_vhdl.prj create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/project_tb_edge_vlog.prj create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/simulate.log create mode 100755 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/simulate.sh create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xelab.pb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/Compile_Options.txt create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/TempBreakPointFile.txt create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/obj/xsim_0.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/obj/xsim_1.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/obj/xsim_2.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/obj/xsim_3.c create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/obj/xsim_3.lnx64.o create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsim.dbg create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsim.mem create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsim.reloc create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsim.rlx create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsim.rtti create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsim.svtype create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsim.type create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsim.version create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsim.xdbg create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsimSettings.ini create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsimcrash.log create mode 100755 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsimk create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/project_tb_edge_time_synth/xsimkernel.log create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/xil_defaultlib/glbl.sdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/xil_defaultlib/project_reti_logiche.sdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/xil_defaultlib/project_tb_edge.vdb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/xil_defaultlib/xil_defaultlib.rlx create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.dir/xsim.version create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xsim.ini create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xvhdl.log create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xvhdl.pb create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xvlog.log create mode 100644 progetto_reti_logiche.sim/sim_1/synth/timing/xsim/xvlog.pb create mode 100644 progetto_reti_logiche.srcs/sim_1/new/Custom.v create mode 100644 progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd create mode 100644 progetto_reti_logiche.srcs/sim_1/new/project_tb_timing.vhd create mode 100644 progetto_reti_logiche.srcs/sim_1/new/tb2526.vhd create mode 100644 progetto_reti_logiche.srcs/sources_1/new/progetto_reti_logiche.vhd create mode 100644 progetto_reti_logiche.srcs/utils_1/imports/synth_1/project_reti_logiche.dcp create mode 100644 progetto_reti_logiche.xpr create mode 100644 project_tb_behav.wcfg create mode 100644 project_tb_edge_behav.wcfg create mode 100644 project_tb_edge_behav1.wcfg create mode 100644 project_tb_edge_func_synth.wcfg diff --git a/INFO/PFRL_Regole_2526.md b/INFO/PFRL_Regole_2526.md new file mode 100644 index 0000000..03ba76d --- /dev/null +++ b/INFO/PFRL_Regole_2526.md @@ -0,0 +1,229 @@ +Progetto di Reti Logiche + +Prof. Fornaciari, Prof. Palermo e Prof. Salice +Anno Accademico 2025 - 2026 + +REGOLE per lo svolgimento del progetto +(Aggiornamento del 27 Novembre 2025) + +Compito dello studente è quello di descrivere in VHDL e sintetizzare il componente HW che +implementa la specifica richiesta, interfacciandosi con una memoria dove sono memorizzati i +dati e dove andrà scritto il risultato finale. Allo studente verrà fornito un Test Bench di +esempio (che include la memoria) per validare il corretto funzionamento del modulo +implementato. + +● + +● + +Il progetto può essere svolto in gruppi composti da un massimo di 2 studenti che +debbono avere il medesimo docente di riferimento. +Il progetto è una attività autonoma che non coinvolge in nessun modo il corpo +docente a meno di chiarimenti sulla specifica di progetto. + +● Nel caso il testo di specifica risulti incompleto, è compito del gruppo di lavoro + +contattare i docenti motivando accuratamente la ragione della incompletezza. + +● Strumento di sintesi da usare è XILINX VIVADO WEBPACK e la FPGA target può +essere qualunque perchè il progetto è talmente piccolo che non ha problemi. +(Esempio: Artix-7 FPGA xc7a200tfbg484-1) + +Il progetto deve funzionare con un periodo di clock di almeno 20 ns; + +Criteri di valutazione + +● Un componente descritto e simulabile correttamente in pre-sintesi viene valutato fino + +ad un massimo di 24. + +● Un componente sintetizzabile e correttamente simulabile in post-sintesi può ottenere +una valutazione superiore a 24: fino a 30 per un progetto fatto in coppia, fino a 30L +per un progetto svolto da un singolo studente. + +● Lo studente deve allegare al progetto come documentazione una relazione. +Quest’ultima deve includere: 1) specifiche di progetto 2) scelte progettuali 3) risultati +dei test fatti e le ragioni di tali test (motivare le scelte) 4) risultati della sintesi. Nel +caso di un componente descritto e simulabile correttamente in pre-sintesi questo +deve essere chiaramente segnalato anche nella relazione. La qualità della relazione +concorre alla definizione del voto complessivo. +Il voto finale, in entrambi i casi, terrà conto dei test superati dal componente, dalla +qualità del codice VHDL e della relazione presentata (incluse le scelte progettuali). +Un progetto fatto in coppia può comunque raggiungere la lode grazie alla valutazione +complessiva dell’implementazione e della relazione. + +● + +● ATTENZIONE: non è possibile rifiutare il voto finale. Questo è dovuto alla +tipologia del progetto che è considerato, da regolamento didattico, una “PROVA +FINALE”. + +● E’ facoltà dei docenti richiedere un'integrazione mediante una discussione orale o +una prova pratica relativamente allo sviluppo del progetto nell'ambiente suggerito, in +aggiunta alla valutazione basata sulla prova di funzionamento del codice e della +relazione. + + Criteri di Consegna + +● La specifica del progetto resta invariata per tutto l’anno accademico. La consegna +del progetto può essere fatta solo una volta nell’arco dell’anno accademico con la +possibilità di una ed unica risottomissione in caso di insufficienza (si legga la nota +successiva). + +● + +● NOTA: nel caso che la prima consegna risulti insufficiente (9 0), esso +deve comportarsi come segue: + +● Dopo un reset, la lista deve essere considerata vuota. Il modulo deve quindi scrivere + +il valore zero all’indirizzo 0 della memoria. + +● Durante questa fase di inizializzazione, il segnale DONE deve essere mantenuto a 1, +indicando che il modulo non è ancora pronto a ricevere operazioni, e solo dopo che +l’azzeramento è stato effettuato, il modulo può riportare DONE a 0 e rendersi +disponibile a nuove operazioni. + +Il modulo deve garantire: + +Il corretto aggiornamento della memoria in seguito a ogni operazione. +Il mantenimento dell’ordine dei task nella lista. + +● +● +● La gestione appropriata dei casi limite, ad esempio lista vuota. +● + +Il rispetto del protocollo START-DONE come descritto. + +Si precisa che +la presente specifica descrive un comportamento completamente +deterministico: a parità di sequenze di ingresso, le uscite generate e il contenuto della +memoria nella parte valida (lista dei task) risultano invariati. Qualsiasi eventuale scenario +che presenti ambiguità o comportamenti non univocamente determinati dovrà essere +identificato e prontamente segnalato. + + Interfaccia del Componente +Il modulo da implementare ha 4 ingressi primari, uno ad 1 bit (i_start), uno a 6 bit (i_task_id), +uno a 2 bit (i_task_priority) e uno da 2 bit (i_op), e due uscite primarie, una da 1 bit (o_done) +e una da 6 bit (o_task_id). Inoltre, il modulo ha un segnale di clock CLK, unico per tutto il +sistema e un segnale di reset RESET anch’esso unico per tutto il sistema. Tutti i segnali +sono sincroni e devono essere interpretati sul fronte di salita del clock. L’unica eccezione è +RESET che, invece, è asincrono. RESET può essere generato in qualsiasi momento +dell’esecuzione. + +Il componente da descrivere deve avere la seguente interfaccia. + +entity project_reti_logiche is + +port ( + +i_clk : in std_logic; + +i_rst : in std_logic; + +i_start + +: in std_logic; + +i_task_id + +: in std_logic_vector(5 downto 0); + +i_task_priority : in std_logic_vector(1 downto 0); + +i_op : in std_logic_vector(1 downto 0); + +o_done : out std_logic; + +o_task_id : out std_logic_vector(5 downto 0); + +o_mem_addr : out std_logic_vector(15 downto 0); + +i_mem_data : in std_logic_vector(7 downto 0); + +o_mem_data : out std_logic_vector(7 downto 0); + +o_mem_we : out std_logic; + +o_mem_en : out std_logic + +); + +end project_reti_logiche; + +In particolare: + +● + +● +● + +● +● + +il nome del modulo deve essere project_reti_logiche e deve essere +presente una sola architettura per ogni entità; la violazione di queste +indicazioni comporta +il Test Bench e una +l’impossibilità di eseguire +conseguente valutazione di zero; +i_clk è il segnale di CLOCK in ingresso generato dal Test Bench; +i_rst è il segnale di RESET che inizializza la macchina pronta per ricevere il +primo segnale di START; +i_start è il segnale di START generato dal Test Bench; +i_task_id è il vettore di bit rappresentante il ID_TASK generato dal Test +Bench; + + ● + +● + +i_task_priority è il vettore di bit rappresentante il PRIORITY generato dal Test +Bench; +i_op è il vettore di 2 bit rappresentante l’operazione da dover effettuare sulla +lista di task; + +● o_done è il segnale DONE di uscita che comunica la fine dell’elaborazione; +● o_task_id è il vettore di bit rappresentante il ID_TASK del task a priorità più + +alta estratto dalla memoria; + +● o_mem_addr è il segnale (vettore) di uscita che manda l’indirizzo alla + +● + +memoria; +i_mem_data è il segnale (vettore) che arriva dalla memoria e contiene il dato +in seguito ad una richiesta di lettura; + +● o_mem_data è il segnale (vettore) che va verso la memoria e contiene il dato + +che verrà successivamente scritto; + +● o_mem_en è il segnale di ENABLE da dover mandare alla memoria per poter + +comunicare (sia in lettura che in scrittura); + +● o_mem_we è il segnale di WRITE ENABLE da dover mandare alla memoria + +(=1) per poter scriverci. Per leggere da memoria, esso deve essere 0. + + APPENDICE: Descrizione Memoria +NOTA: La memoria è già istanziata all’interno del Test Bench e non va sintetizzata + +La memoria e il suo protocollo può essere estratto dalla seguente descrizione VHDL che fa +parte del test bench e che è derivata dalla User guide di VIVADO disponibile al seguente +link: +https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_3/ug901-vivado-synth +esis.pdf + +-- Single-Port Block RAM Write-First Mode (recommended template) +-- +-- File: rams_02.vhd +-- +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +entity rams_sp_wf is +port( + clk : in std_logic; + we : in std_logic; + en : in std_logic; + addr : in std_logic_vector(15 downto 0); + di : in std_logic_vector(7 downto 0); + do : out std_logic_vector(7 downto 0) +); +end rams_sp_wf; + +architecture syn of rams_sp_wf is +type ram_type is array (65535 downto 0) of std_logic_vector(7 downto 0); +signal RAM : ram_type; +begin + process(clk) + +begin +if clk'event and clk = '1' then +if en = '1' then + if we = '1' then + +RAM(conv_integer(addr)) <= di; +do + +<= di after 2 ns; + + else + +do <= RAM(conv_integer(addr)) after 2 ns; + + end if; +end if; +end if; + end process; +end syn; + + ESEMPIO +L’esempio qui di seguito mostra il comportamento a seguito dei segnali di ingresso. Qui di +seguito è presente la situazione della memoria a seguito dell’inserimento di diversi task (fase +non mostrata nell’esempio). I valori non espliciti sono valori di memoria che non vengono +considerati per il normale funzionamento. + +SITUAZIONE INIZIALE (6 task già in tabella) + +MEMORIA + +INDIRIZZO + +VALORE + +ID_TASK PRIORITY + +0x00000110 + +0x01000000 + +0x01011000 + +0x01011100 + +0x01010101 + +0x01110010 + +0x00010011 + +16 + +22 + +23 + +21 + +28 + +4 + +0 + +0 + +0 + +1 + +2 + +3 + +0 + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +OPERAZIONE: 00 (incremento valore di priorità) + +MEMORIA + +INDIRIZZO + +VALORE + +ID_TASK PRIORITY + +0x00000110 + +0x01000001 + +0x01011001 + +0x01011101 + +0x01010110 + +0x01110011 + +0x00010011 + +16 + +22 + +23 + +21 + +28 + +4 + +1 + +1 + +1 + +2 + +3 + +3 + +0 + +1 + +2 + +3 + +4 + +5 + +6 + +7 + + OPERAZIONE: 10 (aggiunge un task) - ID_TASK: 19 - PRIORITY: 2 + +MEMORIA + +INDIRIZZO + +VALORE + +ID_TASK PRIORITY + +0x00000111 + +0x01000001 + +0x01011001 + +0x01011101 + +0x01010110 + +0x01001110 + +0x01110011 + +0x00010011 + +16 + +22 + +23 + +21 + +19 + +28 + +4 + +1 + +1 + +1 + +2 + +2 + +3 + +3 + +0 + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +OPERAZIONE: 01 (rimuove il primo task) + +MEMORIA + +INDIRIZZO + +VALORE + +ID_TASK PRIORITY + +0x00000110 + +0x01011001 + +0x01011101 + +0x01010110 + +0x01001110 + +0x01110011 + +0x00010011 + +22 + +23 + +21 + +19 + +28 + +4 + +1 + +1 + +2 + +2 + +3 + +3 + +0 + +1 + +2 + +3 + +4 + +5 + +6 + +7 + + OPERAZIONE: 11 (svuota la lista) + +MEMORIA + +INDIRIZZO + +VALORE + +ID_TASK PRIORITY + +0x00000000 + +0 + +1 + +OPERAZIONE: 10 (aggiunge un task) - ID_TASK: 31 - PRIORITY: 3 + +MEMORIA + +INDIRIZZO + +VALORE + +ID_TASK PRIORITY + +0x00000001 + +0x01111111 + +0 + +1 + +2 + +OPERAZIONE: 10 (aggiunge un task) - ID_TASK: 15 - PRIORITY: 0 + +MEMORIA + +INDIRIZZO + +VALORE + +ID_TASK PRIORITY + +0x00000010 + +0x00111100 + +0x01111111 + +15 + +31 + +0 + +3 + +0 + +1 + +2 + +3 + +OPERAZIONE: 10 (aggiunge un task) - ID_TASK: 20 - PRIORITY: 0 + +MEMORIA + +INDIRIZZO + +VALORE + +ID_TASK PRIORITY + +0 + +1 + +2 + +3 + +0x000000011 + +0x00111100 + +0x01010000 + +0x01111111 + +15 + +20 + +31 + +0 + +0 + +3 + + Progetto di Reti Logiche + +Prof. Fornaciari, Prof. Palermo e Prof. Salice +Anno Accademico 2025 - 2026 + +NOTE DI AGGIORNAMENTO DELLA SPECIFICA + +In questa pagina potete trovare le modifiche fatte alla specifica del progetto dal suo primo rilascio. +Tutti i cambiamenti con data annessa saranno riportati qui sotto e sono mantenuti in rosso nel testo. + +Errata Corrige: + +- Aggiornamento 24.02.2026: + +- + +Il numero massimo di task nella lista non è 31 come nella versione originale ma 63. +Questo è derivato dal fatto che il numero di bit per il task_id è 6. + diff --git a/INFO/Relazione.tex b/INFO/Relazione.tex new file mode 100644 index 0000000..84ea047 --- /dev/null +++ b/INFO/Relazione.tex @@ -0,0 +1,793 @@ +\documentclass[12pt,a4paper]{article} + +% --- Preambolo --- +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[italian]{babel} +\usepackage{amsmath, amsfonts, amssymb} +\usepackage{geometry} +\usepackage{graphicx} +\usepackage{listings} +\usepackage{xcolor} +\usepackage{lstautogobble} + +\usepackage{booktabs} +\usepackage{xcolor} +\usepackage{colortbl} +\usepackage{float} + +\usepackage{caption} + +\usepackage{hyperref} +\hypersetup{ + colorlinks=false, + pdfborder={0 0 0} +} + + +\geometry{a4paper, margin=3cm} + +% Configurazione professionale per il codice VHDL +\lstset{ + language=VHDL, + basicstyle=\ttfamily\small, % Font monospaziato piccolo + keywordstyle=\color{blue}, % Parole chiave in blu + commentstyle=\color{gray}, % Commenti in grigio + breaklines=true, % VA A CAPO AUTOMATICAMENTE + frame=single, % Bordo attorno al codice + numbers=left, % Numeri di riga a sinistra + numberstyle=\tiny\color{gray}, + xleftmargin=10pt, % Margine per far rientrare i numeri di riga + showstringspaces=false, + autogobble=true, + tabsize=2, +} + +\begin{document} + + \begin{titlepage} + \centering + {\large \textbf{POLITECNICO DI MILANO 1863}} \\ + \vspace{1cm} + \includegraphics[width=0.4\textwidth]{logo_polimi.jpg} \\ + \vspace{2cm} + + {\Large \textbf{Relazione Progetto Reti Logiche}} \\ + \vspace{1cm} + + {\large Aleandro Pagani} \\ + \vspace{0.5cm} + {\large Giugno 2026} \\ + + \vfill + + {\large Matricola: 236992} \\ + {\large Codice persona: 10893566} \\ + \vspace{1cm} + {\large Professore: Fabio Salice} + \end{titlepage} + + \newpage + + \pagenumbering{roman} + \tableofcontents + \newpage + + + + \pagenumbering{arabic} + \section{Introduzione} + \subsection{Specifiche generali} + \subsubsection{Descrizione} + + Il progetto consiste nel descrivere un modulo hardware che si interfaccia con una memoria in cui la prima cella contiene il contatore dei task e le celle successive la lista ordinata. Il modulo deve supportare quattro tipi di operazioni il cui codice identificativo è fornito in ingresso: + \begin{itemize} + \item \textbf{00}: Decrementa la priorità di tutti i task + \item \textbf{01}: Rimuove il primo task della lista + \item \textbf{10}: Aggiunge un nuovo task in lista + \item \textbf{11}: Svuota completamente la lista + \end{itemize} + +\begin{figure}[H] + \centering + \begin{minipage}{0.45\textwidth} + \centering + \includegraphics[width=\textwidth]{INTRODUZIONE/OP_00.png} + \caption*{OP 00.} + \label{fig:00} + \end{minipage} + \hfill + \begin{minipage}{0.45\textwidth} + \centering + \includegraphics[width=\textwidth]{INTRODUZIONE/OP_01.png} + \caption*{OP 01.} + \label{fig:01} + \end{minipage} +\end{figure} + +\begin{figure}[H] + \centering + \begin{minipage}{0.45\textwidth} + \centering + \includegraphics[width=\textwidth]{INTRODUZIONE/OP_10.png} + \caption*{OP 10 (inserisco task 000000 01).} + \label{fig:10} + \end{minipage} + \hfill + \begin{minipage}{0.45\textwidth} + \centering + \includegraphics[width=\textwidth]{INTRODUZIONE/OP_11.png} + \caption*{OP 11.} + \label{fig:11} + \end{minipage} + \end{figure} + + \newpage + + + + + + + + \subsubsection{Funzionamento} + La sincronizzazione tra la logica esterna e il modulo hardware avviene tramite un protocollo di handshake \textbf{START-DONE}. + Il funzionamento del modulo è scandito attraverso 5 fasi: + \begin{itemize} + \item \textbf{Inizializzazione:} Vengono forniti i dati e posto il segnale \textbf{START} a 1. + \item \textbf{Elaborazione:} Il modulo avvia le operazioni e interagisce con la memoria. + \item \textbf{Completamento:} Terminate le operazioni, il modulo imposta il segnale \textbf{DONE} a 1. + \item \textbf{Riconoscimento:} La logica esterna pone il segnale \textbf{START} a 0. + \item \textbf{Ripristino:} Il modulo riporta il segnale \textbf{DONE} a 0 e torna in attesa di nuove direttive. + \end{itemize} + + \vspace{0.5cm} + \centerline{\includegraphics[width=0.6\textwidth]{START-DONE handshake.png}} + \newpage + + + + + + + + + + + + + + \subsection{Descrizione modulo} + + \begin{lstlisting} + entity project_reti_logiche is + port ( + i_clk: in std_logic; + i_rst: in std_logic; + + i_start: in std_logic; + i_task_id: in std_logic_vector(5 downto 0); + i_task_priority : in std_logic_vector(1 downto 0); + i_op: in std_logic_vector(1 downto 0); + + o_done: out std_logic; + o_task_id: out std_logic_vector(5 downto 0); + + o_mem_addr : out std_logic_vector(15 downto 0); + i_mem_data : in std_logic_vector(7 downto 0); + o_mem_data : out std_logic_vector(7 downto 0); + o_mem_we: out std_logic; + o_mem_en: out std_logic + ); + end project_reti_logiche; + \end{lstlisting} + + \begin{itemize} + \item \textbf{i\_clk:} Segnale di clock + \item \textbf{i\_rst:} Segnale di reset + \vspace{0.5cm} + \item \textbf{i\_start:} Segnale \textbf{START} di handshake + \item \textbf{i\_task\_id:} Codice del task da inserire + \item \textbf{i\_task\_priority:} Priorità del task da inserire + \item \textbf{i\_op:} ID dell'operazione da eseguire + \vspace{0.5cm} + \item \textbf{o\_done:} Segnale \textbf{DONE} di handshake + \item \textbf{o\_task\_id:} Codice del task restituito dall'eliminazione + \vspace{0.5cm} + \item \textbf{o\_mem\_addr:} Indirizzo di memoria con cui interagire + \item \textbf{i\_mem\_data:} Informazioni lette dalla memoria + \item \textbf{o\_mem\_data:} Informazioni da scrivere in memoria + \item \textbf{o\_mem\_we:} Flag per abilitare la scrittura in memoria + \item \textbf{o\_mem\_en:} Flag per abilitare la lettura in memoria + \end{itemize} + \newpage + + + + + + \subsection{Descrizione memoria} + \subsubsection{Implementazione fornita} + \begin{lstlisting} + library ieee; + use ieee.std_logic_1164.all; + use ieee.std_logic_unsigned.all; + + entity rams_sp_wf is + port( + clk : in std_logic; + we : in std_logic; + en : in std_logic; + addr : in std_logic_vector(15 downto 0); + di : in std_logic_vector(7 downto 0); + do : out std_logic_vector(7 downto 0) + ); + end rams_sp_wf; + + architecture syn of rams_sp_wf is + type ram_type is array (65535 downto 0) of std_logic_vector(7 downto 0); + signal RAM : ram_type; + begin + process(clk) + begin + if clk'event and clk = '1' then + if en = '1' then + if we = '1' then + RAM(conv_integer(addr)) <= di; + do <= di; -- Write-First + else + do <= RAM(conv_integer(addr)); + end if; + end if; + end if; + end process; + end syn; + \end{lstlisting} + + \begin{itemize} + \item \textbf{clk:} Segnale di clock + \item \textbf{we:} Flag di scrittura + \item \textbf{en:} Flag di lettura + \item \textbf{addr:} Indirizzo con cui interagire + \item \textbf{di:} Dati in ingresso + \item \textbf{do:} Dati in uscita + \end{itemize} + \newpage + + \subsubsection{Layout di memoria} + La RAM indirizza 65536 celle da un byte (indirizzi a 16 bit); la lista ne utilizza al più 64: la prima (\textbf{0}) rappresenta il numero di task presenti, le successive contengono i task (al massimo 63, dato che gli ID sono a 6 bit e l'ID 0 è riservato).\\ + Per ogni task, i primi 6 bit ne identificano il codice, mentre gli ultimi 2 la priorità. + \vspace{0.7cm} + + + \begin{minipage}[c]{0.30\textwidth} + \centering + \includegraphics[width=\textwidth]{MemoryDiagram.png} + \end{minipage} + \hfill + \begin{minipage}[c]{0.60\textwidth} + + In questo esempio abbiamo 3 task: + \begin{itemize} + \item \textbf{001111 00:} Task con codice 15 e priorità 0 + \item \textbf{010100 00:} Task con codice 20 e priorità 0 + \item \textbf{011011 11:} Task con codice 27 e priorità 3 + \end{itemize} + Tutti gli altri elementi in memoria non vengono considerati validi. + \end{minipage} + \newpage + + + + + + + + + + + + + + + + + \section{Architettura} + Data la dimensione ridotta del progetto, il componente è composto da un unico modulo con due processi: uno sincrono e uno combinatorio. + + Nell'implementazione presentata è stata privilegiata la leggibilità rispetto all'efficienza e alla minimizzazione del numero di segnali. + + \subsection{Segnali interni} + \begin{lstlisting} + signal state : state_type; + signal next_state : state_type; + + signal current_mem_addr : std_logic_vector(15 downto 0); + signal next_mem_addr : std_logic_vector(15 downto 0); + + signal current_task_count : std_logic_vector(7 downto 0); + signal next_task_count : std_logic_vector(7 downto 0); + + signal current_popped_id : std_logic_vector(5 downto 0); + signal next_popped_id : std_logic_vector(5 downto 0); + + signal ctrl_done : std_logic; + signal ctrl_mem_en : std_logic; + signal ctrl_mem_we : std_logic; + signal ctrl_mem_data : std_logic_vector(7 downto 0); + signal ctrl_task_id : std_logic_vector(5 downto 0); + \end{lstlisting} + + I registri interni sono organizzati in coppie \textbf{current\_*}/\textbf{next\_*}: il processo combinatorio calcola il valore \textbf{next\_*}, il processo sincrono lo registra in \textbf{current\_*} sul fronte di clock. + + \begin{itemize} + \item \textbf{state:} Stato attuale dell'FSM + \item \textbf{next\_state:} Prossimo stato dell'FSM + \vspace{0.5cm} + \item \textbf{current\_mem\_addr / next\_mem\_addr:} Indirizzo di memoria su cui la FSM sta lavorando (0 = contatore, 1..N = task) + \item \textbf{current\_task\_count / next\_task\_count:} Copia locale del numero di task presenti in lista (cella 0 della memoria) + \item \textbf{current\_popped\_id / next\_popped\_id:} ID estratto dall'ultima rimozione, presentato su \textbf{o\_task\_id} quando \textbf{DONE} viene alzato + \vspace{0.5cm} + \item \textbf{ctrl\_done:} Segnale di controllo di \textbf{DONE} + \item \textbf{ctrl\_mem\_en:} Segnale per abilitare la lettura in memoria + \item \textbf{ctrl\_mem\_we:} Segnale per abilitare la scrittura in memoria + \item \textbf{ctrl\_mem\_data:} Dati da scrivere in memoria + \item \textbf{ctrl\_task\_id:} Valore da presentare sull'uscita \textbf{o\_task\_id} + \end{itemize} + + \subsection{Processo sincrono} + Questo processo registra sul fronte di salita del clock lo stato, i registri e tutte le uscite del modulo. + \begin{lstlisting} + process(i_clk, i_rst) + begin + if i_rst = '1' then + state <= S_RESET; + o_done <= '1'; + o_mem_en <= '0'; + o_mem_we <= '0'; + elsif rising_edge(i_clk) then + state <= next_state; + current_mem_addr <= next_mem_addr; + current_task_count <= next_task_count; + current_popped_id <= next_popped_id; + + o_done <= ctrl_done; + o_mem_en <= ctrl_mem_en; + o_mem_we <= ctrl_mem_we; + o_mem_addr <= next_mem_addr; + o_mem_data <= ctrl_mem_data; + o_task_id <= ctrl_task_id; + end if; + end process; + \end{lstlisting} + Sul fronte di salita del clock i registri \textbf{current\_*} vengono aggiornati con i corrispettivi valori \textbf{next\_*} e, contemporaneamente, vengono scritti sui bus di uscita \textbf{o\_*} i valori calcolati dal processo combinatorio. + + Il reset, asincrono, porta la FSM in \textbf{S\_RESET} con \textbf{DONE} a 1 (come richiesto dalla specifica) e disabilita l'interfaccia verso la memoria: in questo modo il modulo non può produrre scritture involontarie mentre il reset è attivo, indipendentemente dall'istante in cui arriva. + + \vspace{0.5cm} + Due scelte progettuali meritano attenzione: + \begin{itemize} + \item \textbf{Uscite registrate:} I segnali interni \textbf{ctrl\_*} vengono assegnati alle uscite \textbf{o\_*} solo nel processo sincrono: oltre a separare la logica di controllo dall'aggiornamento delle uscite, questo garantisce che i segnali verso la memoria siano privi di glitch. + \item \textbf{Indirizzo anticipato:} \textbf{o\_mem\_addr} viene registrato da \textbf{next\_mem\_addr} (e non da \textbf{current\_mem\_addr}): l'indirizzo arriva così alla memoria con un ciclo di anticipo rispetto allo stato che ne consumerà il dato. Poiché la memoria ha lettura sincrona con latenza di un ciclo, questa convenzione permette a ogni stato di richiedere una lettura e allo stato successivo (dopo un solo ciclo "cuscinetto") di usarne il risultato. + \end{itemize} + \newpage + + \subsection{Processo combinatorio} + Questo è il processo principale del modulo hardware: esso è responsabile della logica interna e della gestione degli stati FSM.\\ + Vengono di seguito analizzati tutti gli stati presenti. + + + \begin{lstlisting} + type state_type is ( + S_IDLE, S_RESET, S_DONE, + + S_00_READ, S_00_WAIT, S_00_CHECK, S_00_GO_NEXT, + + S_01_CHECK_NUMBER, S_01_WAIT, S_01_WRITE, S_01_CHECK_END, S_01_COPY, S_01_GO_NEXT, S_01_WAIT_FOR_COUNT, + + S_10_PLACE_AT_START, S_10_WAIT_FOR_CHECK, S_10_CHECK_ID, S_10_WAIT, S_10_COMPARE, S_10_GO_NEXT, S_10_UPDATE_COUNT, S_10_WAIT_FOR_COUNT, + + S_11_UPDATE_COUNT, S_11_WAIT_FOR_COUNT + ); + \end{lstlisting} + + \subsubsection{Stati di gestione del protocollo} + \begin{itemize} + \item \textbf{S\_IDLE:} Stato di attesa. Quando viene rilevato il segnale \textbf{START=1}, viene avviata l'operazione indicata dal codice \textbf{i\_op}. Al dispatch viene anche azzerato il registro \textbf{popped\_id}, così \textbf{o\_task\_id} varrà 0 per ogni operazione diversa da una rimozione andata a buon fine. + \item \textbf{S\_RESET:} Stato di reset. Imposta il contatore nella prima cella di memoria a 0, invalidando tutte le altre, mentre \textbf{DONE} rimane a 1 come richiesto dalla specifica. + \item \textbf{S\_DONE:} Alza \textbf{DONE} e lo tiene a 1 finché \textbf{START} non torna a 0, come richiesto dal protocollo di handshake. Tutte le operazioni raggiungono questo stato un ciclo dopo il proprio stato terminale: \textbf{DONE} sale quindi sempre \emph{dopo} il commit in memoria dell'ultima scrittura, e la logica esterna che campiona la memoria sul fronte di \textbf{DONE} legge dati già aggiornati. + \end{itemize} + \newpage + + \subsubsection{Operazione 00} + Questa operazione decrementa la priorità di tutti i task presenti in lista. + Se un task ha già la priorità minima \textbf{11}, questa non viene modificata. + \vspace{0.5cm} + + \centerline{\includegraphics[width=0.4\textwidth]{DIAGRAMS/S_00_DIAGRAM.png}} + + \vspace{0.5cm} + Gli stati presenti sono 4: + \begin{itemize} + \item \textbf{S\_00\_READ:} Seleziona il primo elemento in lista + \item \textbf{S\_00\_WAIT:} Stato cuscinetto. Serve per dare tempo alla RAM di leggere il contenuto del task selezionato + \item \textbf{S\_00\_CHECK:} Controlla se l'indirizzo selezionato è un task valido. In tal caso, se possibile, ne incrementa la priorità numerica di 1. + \item \textbf{S\_00\_GO\_NEXT:} Seleziona la cella di memoria successiva + \end{itemize} + \newpage + + \subsubsection{Operazione 01} + Questa operazione rimuove il primo task della lista e sposta in alto tutti i task sottostanti. + \vspace{0.5cm} + + \centerline{\includegraphics[width=0.7\textwidth]{DIAGRAMS/S_01_DIAGRAM.png}} + + \vspace{0.5cm} + Gli stati presenti sono 7: + \begin{itemize} + \item \textbf{S\_01\_CHECK\_NUMBER:} Se non ci sono task termina subito (\textbf{o\_task\_id} resterà \textbf{000000}). Altrimenti avvia la lettura del primo task. + \item \textbf{S\_01\_WAIT:} Stato cuscinetto. Serve per dare tempo alla RAM di leggere il contenuto del task selezionato + \item \textbf{S\_01\_WRITE:} Salva l'ID del primo task nel registro \textbf{popped\_id} (verrà presentato su \textbf{o\_task\_id} in \textbf{S\_DONE}) e avvia la lettura del task successivo. + \item \textbf{S\_01\_CHECK\_END:} Controlla se ha raggiunto la fine della lista. In tal caso scrive nella prima cella il valore del contatore decrementato di uno. + \item \textbf{S\_01\_COPY:} Copia il contenuto della cella \textbf{n+1} dentro alla cella \textbf{n}. + \item \textbf{S\_01\_GO\_NEXT:} Passa al task successivo. + \item \textbf{S\_01\_WAIT\_FOR\_COUNT:} Attende il commit della scrittura del contatore, poi transita in \textbf{S\_DONE}. + \end{itemize} + \newpage + + \subsubsection{Operazione 10} + Questa operazione inserisce un nuovo task nella posizione corretta secondo la sua priorità, in coda ai task di pari priorità. L'operazione è divisa in due fasi: + \begin{enumerate} + \item \textbf{Scansione duplicati:} la lista viene percorsa dall'ultimo task verso il primo; se viene trovato un task con lo stesso ID, l'inserimento viene ignorato (la specifica vieta la presenza di due task con lo stesso ID). Vengono inoltre scartate immediatamente le richieste con ID = 0, valore riservato dalla specifica come condizione di errore. + \item \textbf{Inserimento dal fondo:} partendo dall'ultimo task e salendo, viene controllata la priorità del task corrente. Se questa risulta numericamente maggiore (gerarchicamente inferiore) rispetto a quella del task da inserire, la cella viene copiata in quella sottostante e il confronto prosegue verso l'alto. Contrariamente, se la priorità dovesse risultare minore o uguale, il nuovo task viene inserito nella cella sottostante: il confronto "minore o uguale" è ciò che colloca il nuovo task \emph{dopo} quelli di pari priorità, garantendo l'ordine FIFO richiesto. + \end{enumerate} + + Si fa notare come il caso limite di lista piena non può verificarsi: con ID a 6 bit e ID = 0 escluso esistono al più 63 task distinti, e un 64-esimo inserimento sarebbe necessariamente un duplicato, quindi ignorato dalla fase di scansione. + + \vspace{0.5cm} + Di seguito viene illustrato un esempio di inserimento del task \textbf{011110 01}. + + Nota: la scansione iniziale per identificare i duplicati viene ignorata nell'esempio. + + \begin{itemize} + + \item L’ultimo task presenta una priorità gerarchicamente minore, di conseguenza viene copiato nella cella sottostante. + + \includegraphics[width=0.7\textwidth]{S_10_EXAMPLE/S_10_ITERATION1.png} + + \item Si passa quindi al task soprastante. Anche questo presenta una priorità inferiore e viene pertanto copiato nella cella sottostante. + + \includegraphics[width=0.7\textwidth]{S_10_EXAMPLE/S_10_ITERATION2.png} + + \item Il task nella cella 1 presenta invece una priorità maggiore o uguale: il nuovo task viene quindi inserito nella cella sottostante. + + \includegraphics[width=0.87\textwidth]{S_10_EXAMPLE/S_10_ITERATION3.png} + + \item Infine, viene aggiornato il contatore. + + \end{itemize} + \newpage + + + + + \vspace{0.5cm} + + \centerline{\includegraphics[width=0.7\textwidth]{DIAGRAMS/S_10_DIAGRAM.png}} + \vspace{0.5cm} + Gli stati presenti sono 8: + \begin{itemize} + \item \textbf{S\_10\_PLACE\_AT\_START:} Scarta le richieste con ID = 0 e avvia la scansione duplicati dall'ultimo task della lista. + + \item \textbf{S\_10\_WAIT\_FOR\_CHECK:} Stato cuscinetto della fase di scansione. Serve per dare tempo alla RAM di leggere il contenuto del task selezionato. + + \item \textbf{S\_10\_CHECK\_ID:} Confronta l'ID del task letto con quello da inserire. Se coincidono, l'operazione termina senza modifiche; se la scansione ha raggiunto la cima della lista, rilegge l'ultimo task e passa alla fase di inserimento; altrimenti prosegue la scansione verso l'alto. + + \item \textbf{S\_10\_WAIT:} Stato cuscinetto della fase di inserimento. Serve per dare tempo alla RAM di leggere il contenuto del task selezionato. + + \item \textbf{S\_10\_COMPARE:} Verifica la condizione di inserimento del nuovo task. + Se tutta la lista è stata scorsa (o era vuota), il nuovo task viene scritto in testa. + In caso contrario, se il task da inserire presenta una priorità numericamente maggiore o uguale rispetto al task corrente, viene scritto nella cella sottostante; + se invece presenta una priorità numericamente minore, è il task corrente a venire copiato nella cella sottostante. + + \item \textbf{S\_10\_GO\_NEXT:} Seleziona il task precedente nella lista, da confrontare al giro successivo. + + \item \textbf{S\_10\_UPDATE\_COUNT:} Aggiorna il contatore con il numero totale di task presenti nella lista. + + \item \textbf{S\_10\_WAIT\_FOR\_COUNT:} Attende il commit della scrittura del contatore, poi transita in \textbf{S\_DONE}. + + \end{itemize} + \newpage + + + \subsubsection{Operazione 11} + Questa operazione svuota completamente la lista impostando il contatore dei task a 0 (non è necessario resettare tutti i valori nella memoria). + + \vspace{0.5cm} + \centerline{\includegraphics[width=0.7\textwidth]{DIAGRAMS/S_11_DIAGRAM.png}} + \vspace{0.5cm} + Gli stati presenti sono 2: + \begin{itemize} + \item \textbf{S\_11\_UPDATE\_COUNT:} Imposta il contatore a 0. + + \item \textbf{S\_11\_WAIT\_FOR\_COUNT:} Attende il commit della scrittura del contatore, poi transita in \textbf{S\_DONE}. + + \end{itemize} + + + + + + + + + \newpage + \section{Risultati sperimentali} + \subsection{Report di sintesi} + \subsubsection{Risorse utilizzate} + La seguente tabella mostra le risorse hardware occupate dal design sul dispositivo target Artix-7 FPGA xc7a200tfbg484-1. L'utilizzo è estremamente contenuto: le Slice LUT occupano solo lo 0.13\% delle risorse disponibili e i registri lo 0.03\%, confermando che il modulo è decisamente leggero. Inoltre, non è stato inferito alcun latch: tutti gli elementi di memoria sono flip-flop, a conferma che il processo combinatorio assegna un valore di default a ogni segnale in ogni ramo. + + \begin{table}[H] + \centering + \caption{Risorse utilizzate -- Slice Logic} + \label{tab:utilization} + \begin{tabular}{lrrrrr} + \toprule + \textbf{Site Type} & \textbf{Used} & \textbf{Fixed} & \textbf{Prohibited} & \textbf{Available} & \textbf{Util\%} \\ + \midrule + Slice LUTs* & 181 & 0 & 0 & 134600 & 0.13 \\ + \quad LUT as Logic & 181 & 0 & 0 & 134600 & 0.13 \\ + \quad LUT as Memory & 0 & 0 & 0 & 46200 & 0.00 \\ + Slice Registers & 71 & 0 & 0 & 269200 & 0.03 \\ + \quad Register as Flip Flop & 71 & 0 & 0 & 269200 & 0.03 \\ + \quad Register as Latch & 0 & 0 & 0 & 269200 & 0.00 \\ + F7 Muxes & 0 & 0 & 0 & 67300 & 0.00 \\ + F8 Muxes & 0 & 0 & 0 & 33650 & 0.00 \\ + Unique Control Sets & 6 & -- & 0 & 33650 & 0.02 \\ + \bottomrule + \end{tabular} + \end{table} + \newpage + + + \subsubsection{FSM codificata} + La tabella riporta la codifica degli stati FSM generata automaticamente dal tool di sintesi. Sono presenti in totale 24 stati. Vivado ha scelto una codifica \textbf{one-hot} (un flip-flop per stato, 24 bit complessivi), tipica sulle FPGA: aumenta il numero di registri, risorsa abbondante, ma minimizza la logica di decodifica dello stato e ne accorcia i percorsi combinatori. Per compattezza la tabella riporta, per ogni stato, l'indice del bit attivo della codifica one-hot e la codifica sequenziale a 5 bit di partenza. + \begin{table}[H] + \caption{FSM -- Codifica degli stati} + \label{tab:fsm-encoding} + \centering + \begin{tabular}{lcc} + \toprule + \textbf{Stato} & \textbf{One-hot (bit attivo)} & \textbf{Previous Encoding} \\ + \midrule + \texttt{s\_reset} & 0 & 00001 \\ + \texttt{s\_done} & 1 & 00010 \\ + \texttt{s\_idle} & 2 & 00000 \\ + \texttt{s\_00\_read} & 3 & 00011 \\ + \texttt{s\_00\_wait} & 4 & 00100 \\ + \texttt{s\_00\_check} & 5 & 00101 \\ + \texttt{s\_00\_go\_next} & 6 & 00110 \\ + \texttt{s\_01\_check\_number} & 7 & 00111 \\ + \texttt{s\_01\_wait} & 8 & 01000 \\ + \texttt{s\_01\_write} & 9 & 01001 \\ + \texttt{s\_01\_check\_end} & 10 & 01010 \\ + \texttt{s\_01\_wait\_for\_count}& 11 & 01101 \\ + \texttt{s\_01\_copy} & 12 & 01011 \\ + \texttt{s\_01\_go\_next} & 13 & 01100 \\ + \texttt{s\_10\_place\_at\_start}& 14 & 01110 \\ + \texttt{s\_10\_wait\_for\_check}& 15 & 01111 \\ + \texttt{s\_10\_check\_id} & 16 & 10000 \\ + \texttt{s\_10\_wait} & 17 & 10001 \\ + \texttt{s\_10\_compare} & 18 & 10010 \\ + \texttt{s\_10\_update\_count} & 19 & 10100 \\ + \texttt{s\_10\_wait\_for\_count}& 20 & 10101 \\ + \texttt{s\_10\_go\_next} & 21 & 10011 \\ + \texttt{s\_11\_update\_count} & 22 & 10110 \\ + \texttt{s\_11\_wait\_for\_count}& 23 & 10111 \\ + \bottomrule + \end{tabular} + \end{table} + \newpage + + + + \subsubsection{Statistiche RTL} + La tabella dettaglia i componenti RTL inferiti dal tool di sintesi a partire dal codice VHDL. Sono presenti sommatori a 16, 9 e 8 bit per l'aritmetica su indirizzi, priorità e contatore. I registri a 16, 8, 6 e 1 bit corrispondono ai segnali interni e alle uscite registrate del design. I multiplexer a 24 ingressi riflettono la selezione tra i 24 stati della FSM (quelli a 24 bit operano sulla codifica one-hot dello stato). + \begin{table}[H] + \caption{Statistiche RTL -- Componenti} + \label{tab:rtl-stats} + \centering + \small + \begin{tabular}{rlrl} + \toprule + \textbf{Ingressi} & \textbf{Bit} & \textbf{Tipo} & \textbf{Quantità} \\ + \midrule + \multicolumn{4}{l}{\textit{Adders}} \\ + 2 & 16 bit & Adder & 4 \\ + 2 & 9 bit & Adder & 1 \\ + 2 & 8 bit & Adder & 3 \\ + \midrule + \multicolumn{4}{l}{\textit{Registers}} \\ + -- & 16 bit & Register & 1 \\ + -- & 8 bit & Register & 2 \\ + -- & 6 bit & Register & 2 \\ + -- & 1 bit & Register & 3 \\ + \midrule + \multicolumn{4}{l}{\textit{Muxes}} \\ + 24 & 24 bit & Mux & 1 \\ + 4 & 24 bit & Mux & 1 \\ + 2 & 24 bit & Mux & 7 \\ + 2 & 16 bit & Mux & 3 \\ + 24 & 16 bit & Mux & 1 \\ + 2 & 8 bit & Mux & 4 \\ + 24 & 8 bit & Mux & 2 \\ + 2 & 6 bit & Mux & 1 \\ + 24 & 6 bit & Mux & 2 \\ + 2 & 1 bit & Mux & 1 \\ + 24 & 1 bit & Mux & 6 \\ + \bottomrule + \end{tabular} + \end{table} + \newpage + + + + \subsubsection{Timing} + La specifica richiede che il progetto funzioni con un periodo di clock di almeno 20 ns. Il requisito è stato verificato in sintesi applicando il vincolo \texttt{create\_clock -period 20.000} sul segnale \texttt{i\_clk}: + + \begin{table}[H] + \centering + \caption{Design Timing Summary (periodo di clock 20 ns)} + \label{tab:timing} + \begin{tabular}{lrr} + \toprule + \textbf{Metrica} & \textbf{Slack (ns)} & \textbf{Endpoint in violazione} \\ + \midrule + Worst Negative Slack (setup, WNS) & $+14.786$ & 0 / 114 \\ + Worst Hold Slack (WHS) & $+0.149$ & 0 / 114 \\ + Worst Pulse Width Slack (WPWS) & $+9.500$ & 0 / 72 \\ + \bottomrule + \end{tabular} + \end{table} + + Lo slack di setup ampiamente positivo indica che il percorso critico è di circa 5.2 ns: il modulo rispetta il vincolo dei 20 ns con un margine di quasi 4 volte. La correttezza funzionale del circuito sintetizzato è inoltre confermata dalla simulazione post-sintesi (functional) di tutti i test bench descritti nella sezione successiva. + \newpage + + \subsection{Report di simulazioni} + \subsubsection{Test bench 1} + Il test bench di esempio fornito dal docente copre le operazioni base quali reset, inserimento in lista, rimozione dalla lista, decremento di priorità e svuotamento della lista. + + Seppur non vengano coperti molti casi limite, questo test bench ci offre la possibilità di analizzare facilmente i tempi di esecuzione delle singole operazioni. + Le 10 operazioni, infatti, vengono eseguite correttamente in 2540 ns.\\ + In particolar modo, le latenze in cicli di clock (periodo 20 ns), con \textbf{N} task presenti in lista e \textbf{k} task spostati, sono le seguenti: + \begin{itemize} + \item \textbf{OP 00}: $(4 + 3N) \cdot 20\,$ns + \item \textbf{OP 01}: $(6 + 3k) \cdot 20\,$ns, con $k = N - 1$; lista vuota: $2 \cdot 20\,$ns + \item \textbf{OP 10}: $(6 + 2\max(N,1) + 3k) \cdot 20\,$ns + \item \textbf{OP 11}: $3 \cdot 20\,$ns + \end{itemize} + + Nota: nell'operazione \textbf{10} il termine $2\max(N,1)$ è il costo della scansione duplicati, che percorre sempre l'intera lista, mentre $3k$ è il costo degli spostamenti, con $k$ compreso tra 0 (inserimento in fondo) e $N$ (inserimento in testa). + Per caratterizzare il comportamento medio, si considera una distribuzione delle priorità equiprobabile: $E[T] = \left(6 + \frac{25}{8}N\right) \cdot 20\,$ns. + + Tutte le formule sono state verificate al ciclo esatto da un test bench dedicato (par. 3.2.3). + + \begin{figure}[H] + \centering + \includegraphics[width=1\textwidth]{WAVEFORM/RESET.png} + \caption{Operazione di reset.} + \label{fig:reset} + \end{figure} + + \begin{figure}[H] + \centering + \includegraphics[width=1\textwidth]{WAVEFORM/INSERIMENTO_VUOTA.png} + \caption{Operazione di inserimento in lista vuota.} + \label{fig:insert_empty} + \end{figure} + + \begin{figure}[H] + \centering + \includegraphics[width=1\textwidth]{WAVEFORM/SVUOTA.png} + \caption{Operazione di svuotamento della lista.} + \label{fig:empty} + \end{figure} + + \begin{figure}[H] + \centering + \includegraphics[width=1\textwidth]{WAVEFORM/INSERIMENTO_PIENA.png} + \caption{Operazione di inserimento in lista popolata.} + \label{fig:insert_full} + \end{figure} + + \begin{figure}[H] + \centering + \includegraphics[width=1\textwidth]{WAVEFORM/RIMOZIONE.png} + \caption{Operazione di rimozione di un task.} + \label{fig:remove} + \end{figure} + + \begin{figure}[H] + \centering + \includegraphics[width=1\textwidth]{WAVEFORM/DECREMENTA.png} + \caption{Operazione di decremento della priorità.} + \label{fig:decrease} + \end{figure} + + + + + + + + + + + + + + + + + + + + + + \newpage + + \subsubsection{Test bench 2 (casi limite)} + Il secondo test bench è stato pensato per coprire i possibili casi limite che potrebbero presentarsi: + + \begin{table}[H] + \centering + \renewcommand{\arraystretch}{1.6} + \begin{tabular}{|m{6cm}|m{8cm}|} + \hline + \textbf{Caso testato} & \textbf{Descrizione} \\ + \hline + DONE durante il reset & DONE rimane a 1 durante reset e inizializzazione. \\ + \hline + Reset asincrono & Reset durante operazioni in corso: il modulo torna allo stato iniziale senza corrompere la memoria. \\ + \hline + Operazioni su lista vuota & Rimozione, decremento e svuotamento su lista vuota non producono scritture. La rimozione restituisce ID = 000000. \\ + \hline + Saturazione della priorità & Task già a priorità 11 non vengono modificati da ulteriori decrementi. \\ + \hline + Ordinamento e FIFO & Inserimenti con priorità diverse e tra task di pari priorità; l'ordine di estrazione è verificato con rimozioni successive. \\ + \hline + ID duplicati e ID = 0 & L'inserimento viene ignorato se l'ID è già presente o vale 0; DONE viene emesso comunque. \\ + \hline + Sequenza di stress & Inserimenti, invecchiamenti, rimozioni e svuotamento in sequenza mista. \\ + \hline + \end{tabular} + \caption*{Casi limite testati nel test bench 2} + \label{tab:testbench2} + \end{table} + + \subsubsection{Test bench 3 (latenze)} + Un terzo test bench misura, per ciascuna operazione, il numero esatto di cicli di clock che intercorrono tra il campionamento di START e l'assertion di DONE, confrontandolo con le formule di latenza riportate nel paragrafo 3.2.1. Le 15 misure (inserimenti con 0--3 spostamenti e inserimento in fondo, rimozioni con lista vuota e con 1--4 task, invecchiamenti con 0--4 task incluso il caso di saturazione completa) coincidono tutte al ciclo esatto con il valore atteso: la FSM non contiene quindi stati morti né attese superflue. + + Tutti e tre i test bench passano sia in simulazione comportamentale sia in simulazione post-sintesi functional. + + + + + + + + + + \newpage + \section{Conclusioni} + I test comportamentali e post-sintesi mostrano che il modulo funziona correttamente, rispettando la specifica. + Il componente completa l'elaborazione del test bench di esempio in 2540 ns, con un utilizzo delle risorse hardware + estremamente contenuto: le Slice LUT occupano lo 0.13\% delle risorse disponibili sul + dispositivo target Artix-7 FPGA xc7a200tfbg484-1, senza alcun latch inferito, confermando la leggerezza e la pulizia del design. Il vincolo di clock di 20 ns è rispettato con ampio margine (WNS $+14.786$ ns, percorso critico $\approx 5.2$ ns). + + In fase di progettazione ho scelto deliberatamente di adottare un numero di stati superiore allo stretto necessario, privilegiando la leggibilità rispetto all'efficienza. Questa scelta, pur garantendo la correttezza del comportamento, introduce una leggera inefficienza temporale: + accorpando o eliminando alcuni stati intermedi sarebbe possibile ridurre la latenza complessiva di qualche punto percentuale. + Ad esempio, gli stati iniziali di alcune operazioni possono essere accorpati nello stato \textbf{S\_IDLE}, all'interno del ramo di decodifica dell'operazione corrispondente. + + +\end{document} \ No newline at end of file diff --git a/progetto_reti_logiche.cache/sim/ssm.db b/progetto_reti_logiche.cache/sim/ssm.db new file mode 100644 index 0000000..f0dde68 --- /dev/null +++ b/progetto_reti_logiche.cache/sim/ssm.db @@ -0,0 +1,10 @@ +################################################################################ +# DONOT REMOVE THIS FILE +# Unified simulation database file for selected simulation model for IP +# +# File: ssm.db (Tue Mar 3 17:54:07 2026) +# +# This file is generated by the unified simulation automation and contains the +# selected simulation model information for the IP/BD instances. +# DONOT REMOVE THIS FILE +################################################################################ diff --git a/progetto_reti_logiche.cache/wt/project.wpc b/progetto_reti_logiche.cache/wt/project.wpc new file mode 100644 index 0000000..3e85024 --- /dev/null +++ b/progetto_reti_logiche.cache/wt/project.wpc @@ -0,0 +1,4 @@ +version:1 +6d6f64655f636f756e7465727c42617463684d6f6465:1 +6d6f64655f636f756e7465727c4755494d6f6465:39 +eof: diff --git a/progetto_reti_logiche.cache/wt/synthesis.wdf b/progetto_reti_logiche.cache/wt/synthesis.wdf new file mode 100644 index 0000000..18883a1 --- /dev/null +++ b/progetto_reti_logiche.cache/wt/synthesis.wdf @@ -0,0 +1,52 @@ +version:1 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d70617274:78633761323030746662673438342d31:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6e616d65:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d746f70:70726f6a6563745f726574695f6c6f6769636865:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d696e636c7564655f64697273:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d67656e65726963:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d646566696e65:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d766572696c6f675f646566696e65:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d7668646c5f646566696e65:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d636f6e737472736574:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d7365755f70726f74656374:64656661756c743a3a6e6f6e65:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d666c617474656e5f686965726172636879:64656661756c743a3a72656275696c74:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d67617465645f636c6f636b5f636f6e76657273696f6e:64656661756c743a3a6f6666:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d646972656374697665:64656661756c743a3a64656661756c74:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d696e6372656d656e74616c5f6d6f6465:64656661756c743a3a64656661756c74:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d72746c:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6c696e74:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d66696c65:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d64617461666c6f77:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d64617461666c6f775f73657474696e6773:64656661756c743a3a6e6f6e65:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d72746c5f736b69705f6970:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d72746c5f736b69705f636f6e73747261696e7473:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6e6f5f6c63:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6c75745f63617363616465:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6f73:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d62756667:64656661756c743a3a3132:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d66616e6f75745f6c696d6974:64656661756c743a3a3130303030:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d73687265675f6d696e5f73697a65:64656661756c743a3a33:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d6f6465:64656661756c743a3a64656661756c74:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d66736d5f65787472616374696f6e:64656661756c743a3a6175746f:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6b6565705f6571756976616c656e745f726567697374657273:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d7265736f757263655f73686172696e67:64656661756c743a3a6175746f:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d636173636164655f647370:64656661756c743a3a6175746f:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d636f6e74726f6c5f7365745f6f70745f7468726573686f6c64:64656661756c743a3a6175746f:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d61785f6272616d:64656661756c743a3a2d31:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d61785f7572616d:64656661756c743a3a2d31:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d61785f647370:64656661756c743a3a2d31:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d61785f6272616d5f636173636164655f686569676874:64656661756c743a3a2d31:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6d61785f7572616d5f636173636164655f686569676874:64656661756c743a3a2d31:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d726574696d696e67:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6e6f5f726574696d696e67:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d676c6f62616c5f726574696d696e67:64656661756c743a3a6175746f:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6e6f5f73726c65787472616374:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d617373657274:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6e6f5f74696d696e675f64726976656e:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d73666375:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d64656275675f6c6f67:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d657374:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00 +73796e746865736973:73796e7468657369735c7573616765:656c6170736564:30303a30303a313073:00:00 +73796e746865736973:73796e7468657369735c7573616765:6d656d6f72795f7065616b:323438362e3231314d42:00:00 +73796e746865736973:73796e7468657369735c7573616765:6d656d6f72795f6761696e:3931302e3332304d42:00:00 +eof:1833720937 diff --git a/progetto_reti_logiche.cache/wt/synthesis_details.wdf b/progetto_reti_logiche.cache/wt/synthesis_details.wdf new file mode 100644 index 0000000..78f8d66 --- /dev/null +++ b/progetto_reti_logiche.cache/wt/synthesis_details.wdf @@ -0,0 +1,3 @@ +version:1 +73796e746865736973:73796e7468657369735c7573616765:686c735f6970:30:00:00 +eof:2511430288 diff --git a/progetto_reti_logiche.cache/wt/webtalk_pa.xml b/progetto_reti_logiche.cache/wt/webtalk_pa.xml new file mode 100644 index 0000000..2fb1012 --- /dev/null +++ b/progetto_reti_logiche.cache/wt/webtalk_pa.xml @@ -0,0 +1,21 @@ + + + + +
+ + +
+
+ + + + + + + +
+
+
diff --git a/progetto_reti_logiche.cache/wt/xsim.wdf b/progetto_reti_logiche.cache/wt/xsim.wdf new file mode 100644 index 0000000..50afb2c --- /dev/null +++ b/progetto_reti_logiche.cache/wt/xsim.wdf @@ -0,0 +1,4 @@ +version:1 +7873696d:7873696d5c636f6d6d616e645f6c696e655f6f7074696f6e73:2d73696d5f6d6f6465:64656661756c743a3a6265686176696f72616c:00:00 +7873696d:7873696d5c636f6d6d616e645f6c696e655f6f7074696f6e73:2d73696d5f74797065:64656661756c743a3a:00:00 +eof:241934075 diff --git a/progetto_reti_logiche.hw/progetto_reti_logiche.lpr b/progetto_reti_logiche.hw/progetto_reti_logiche.lpr new file mode 100644 index 0000000..04ef66e --- /dev/null +++ b/progetto_reti_logiche.hw/progetto_reti_logiche.lpr @@ -0,0 +1,7 @@ + + + + + + + diff --git a/progetto_reti_logiche.ip_user_files/README.txt b/progetto_reti_logiche.ip_user_files/README.txt new file mode 100644 index 0000000..023052c --- /dev/null +++ b/progetto_reti_logiche.ip_user_files/README.txt @@ -0,0 +1 @@ +The files in this directory structure are automatically generated and managed by Vivado. Editing these files is not recommended. diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_1.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_1.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_10.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_10.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_11.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_11.xml new file mode 100644 index 0000000..e9426aa --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_12.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_12.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_13.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_13.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_14.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_14.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_15.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_15.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_15.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_16.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_16.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_16.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_17.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_17.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_18.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_18.xml new file mode 100644 index 0000000..e9426aa --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_18.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_19.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_19.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_19.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_2.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_2.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_20.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_20.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_20.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_21.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_21.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_22.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_22.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_22.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_23.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_23.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_23.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_24.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_24.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_24.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_25.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_25.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_26.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_26.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_26.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_27.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_27.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_27.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_28.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_28.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_28.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_29.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_29.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_29.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_3.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_3.xml new file mode 100644 index 0000000..e9426aa --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_30.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_30.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_30.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_31.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_31.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_31.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_32.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_32.xml new file mode 100644 index 0000000..d1e22cb --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_32.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_33.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_33.xml new file mode 100644 index 0000000..d1e22cb --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_33.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_34.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_34.xml new file mode 100644 index 0000000..d1e22cb --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_34.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_35.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_35.xml new file mode 100644 index 0000000..d1e22cb --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_35.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_36.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_36.xml new file mode 100644 index 0000000..d1e22cb --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_36.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_37.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_37.xml new file mode 100644 index 0000000..d1e22cb --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_37.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_4.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_4.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_5.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_5.xml new file mode 100644 index 0000000..e9426aa --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_6.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_6.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_7.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_7.xml new file mode 100644 index 0000000..e9426aa --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_8.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_8.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/.jobs/vrs_config_9.xml b/progetto_reti_logiche.runs/.jobs/vrs_config_9.xml new file mode 100644 index 0000000..b87bc75 --- /dev/null +++ b/progetto_reti_logiche.runs/.jobs/vrs_config_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/synth_1/.Vivado_Synthesis.queue.rst b/progetto_reti_logiche.runs/synth_1/.Vivado_Synthesis.queue.rst new file mode 100644 index 0000000..e69de29 diff --git a/progetto_reti_logiche.runs/synth_1/.vivado.begin.rst b/progetto_reti_logiche.runs/synth_1/.vivado.begin.rst new file mode 100644 index 0000000..4960303 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/.vivado.begin.rst @@ -0,0 +1,5 @@ + + + + + diff --git a/progetto_reti_logiche.runs/synth_1/.vivado.end.rst b/progetto_reti_logiche.runs/synth_1/.vivado.end.rst new file mode 100644 index 0000000..e69de29 diff --git a/progetto_reti_logiche.runs/synth_1/ISEWrap.js b/progetto_reti_logiche.runs/synth_1/ISEWrap.js new file mode 100755 index 0000000..61806d0 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/ISEWrap.js @@ -0,0 +1,270 @@ +// +// Vivado(TM) +// ISEWrap.js: Vivado Runs Script for WSH 5.1/5.6 +// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +// Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved. +// + +// GLOBAL VARIABLES +var ISEShell = new ActiveXObject( "WScript.Shell" ); +var ISEFileSys = new ActiveXObject( "Scripting.FileSystemObject" ); +var ISERunDir = ""; +var ISELogFile = "runme.log"; +var ISELogFileStr = null; +var ISELogEcho = true; +var ISEOldVersionWSH = false; + + + +// BOOTSTRAP +ISEInit(); + + + +// +// ISE FUNCTIONS +// +function ISEInit() { + + // 1. RUN DIR setup + var ISEScrFP = WScript.ScriptFullName; + var ISEScrN = WScript.ScriptName; + ISERunDir = + ISEScrFP.substr( 0, ISEScrFP.length - ISEScrN.length - 1 ); + + // 2. LOG file setup + ISELogFileStr = ISEOpenFile( ISELogFile ); + + // 3. LOG echo? + var ISEScriptArgs = WScript.Arguments; + for ( var loopi=0; loopi> " + ISELogFile + " 2>&1"; + ISEExitCode = ISEShell.Run( ISECmdLine, 0, true ); + ISELogFileStr = ISEOpenFile( ISELogFile ); + + } else { // WSH 5.6 + + // LAUNCH! + ISEShell.CurrentDirectory = ISERunDir; + + // Redirect STDERR to STDOUT + ISECmdLine = "%comspec% /c " + ISECmdLine + " 2>&1"; + var ISEProcess = ISEShell.Exec( ISECmdLine ); + + // BEGIN file creation + var wbemFlagReturnImmediately = 0x10; + var wbemFlagForwardOnly = 0x20; + var objWMIService = GetObject ("winmgmts:{impersonationLevel=impersonate, (Systemtime)}!//./root/cimv2"); + var processor = objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL",wbemFlagReturnImmediately | wbemFlagForwardOnly); + var computerSystem = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly); + var NOC = 0; + var NOLP = 0; + var TPM = 0; + var cpuInfos = new Enumerator(processor); + for(;!cpuInfos.atEnd(); cpuInfos.moveNext()) { + var cpuInfo = cpuInfos.item(); + NOC += cpuInfo.NumberOfCores; + NOLP += cpuInfo.NumberOfLogicalProcessors; + } + var csInfos = new Enumerator(computerSystem); + for(;!csInfos.atEnd(); csInfos.moveNext()) { + var csInfo = csInfos.item(); + TPM += csInfo.TotalPhysicalMemory; + } + + var ISEHOSTCORE = NOLP + var ISEMEMTOTAL = TPM + + var ISENetwork = WScript.CreateObject( "WScript.Network" ); + var ISEHost = ISENetwork.ComputerName; + var ISEUser = ISENetwork.UserName; + var ISEPid = ISEProcess.ProcessID; + var ISEBeginFile = ISEOpenFile( "." + ISEStep + ".begin.rst" ); + ISEBeginFile.WriteLine( "" ); + ISEBeginFile.WriteLine( "" ); + ISEBeginFile.WriteLine( " " ); + ISEBeginFile.WriteLine( " " ); + ISEBeginFile.WriteLine( "" ); + ISEBeginFile.Close(); + + var ISEOutStr = ISEProcess.StdOut; + var ISEErrStr = ISEProcess.StdErr; + + // WAIT for ISEStep to finish + while ( ISEProcess.Status == 0 ) { + + // dump stdout then stderr - feels a little arbitrary + while ( !ISEOutStr.AtEndOfStream ) { + ISEStdOut( ISEOutStr.ReadLine() ); + } + + WScript.Sleep( 100 ); + } + + ISEExitCode = ISEProcess.ExitCode; + } + + ISELogFileStr.Close(); + + // END/ERROR file creation + if ( ISEExitCode != 0 ) { + ISETouchFile( ISEStep, "error" ); + + } else { + ISETouchFile( ISEStep, "end" ); + } + + return ISEExitCode; +} + + +// +// UTILITIES +// +function ISEStdOut( ISELine ) { + + ISELogFileStr.WriteLine( ISELine ); + + if ( ISELogEcho ) { + WScript.StdOut.WriteLine( ISELine ); + } +} + +function ISEStdErr( ISELine ) { + + ISELogFileStr.WriteLine( ISELine ); + + if ( ISELogEcho ) { + WScript.StdErr.WriteLine( ISELine ); + } +} + +function ISETouchFile( ISERoot, ISEStatus ) { + + var ISETFile = + ISEOpenFile( "." + ISERoot + "." + ISEStatus + ".rst" ); + ISETFile.Close(); +} + +function ISEOpenFile( ISEFilename ) { + + // This function has been updated to deal with a problem seen in CR #870871. + // In that case the user runs a script that runs impl_1, and then turns around + // and runs impl_1 -to_step write_bitstream. That second run takes place in + // the same directory, which means we may hit some of the same files, and in + // particular, we will open the runme.log file. Even though this script closes + // the file (now), we see cases where a subsequent attempt to open the file + // fails. Perhaps the OS is slow to release the lock, or the disk comes into + // play? In any case, we try to work around this by first waiting if the file + // is already there for an arbitrary 5 seconds. Then we use a try-catch block + // and try to open the file 10 times with a one second delay after each attempt. + // Again, 10 is arbitrary. But these seem to stop the hang in CR #870871. + // If there is an unrecognized exception when trying to open the file, we output + // an error message and write details to an exception.log file. + var ISEFullPath = ISERunDir + "/" + ISEFilename; + if (ISEFileSys.FileExists(ISEFullPath)) { + // File is already there. This could be a problem. Wait in case it is still in use. + WScript.Sleep(5000); + } + var i; + for (i = 0; i < 10; ++i) { + try { + return ISEFileSys.OpenTextFile(ISEFullPath, 8, true); + } catch (exception) { + var error_code = exception.number & 0xFFFF; // The other bits are a facility code. + if (error_code == 52) { // 52 is bad file name or number. + // Wait a second and try again. + WScript.Sleep(1000); + continue; + } else { + WScript.StdErr.WriteLine("ERROR: Exception caught trying to open file " + ISEFullPath); + var exceptionFilePath = ISERunDir + "/exception.log"; + if (!ISEFileSys.FileExists(exceptionFilePath)) { + WScript.StdErr.WriteLine("See file " + exceptionFilePath + " for details."); + var exceptionFile = ISEFileSys.OpenTextFile(exceptionFilePath, 8, true); + exceptionFile.WriteLine("ERROR: Exception caught trying to open file " + ISEFullPath); + exceptionFile.WriteLine("\tException name: " + exception.name); + exceptionFile.WriteLine("\tException error code: " + error_code); + exceptionFile.WriteLine("\tException message: " + exception.message); + exceptionFile.Close(); + } + throw exception; + } + } + } + // If we reached this point, we failed to open the file after 10 attempts. + // We need to error out. + WScript.StdErr.WriteLine("ERROR: Failed to open file " + ISEFullPath); + WScript.Quit(1); +} diff --git a/progetto_reti_logiche.runs/synth_1/ISEWrap.sh b/progetto_reti_logiche.runs/synth_1/ISEWrap.sh new file mode 100755 index 0000000..e085d18 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/ISEWrap.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +# +# Vivado(TM) +# ISEWrap.sh: Vivado Runs Script for UNIX +# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +# Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved. +# + +cmd_exists() +{ + command -v "$1" >/dev/null 2>&1 +} + +HD_LOG=$1 +shift + +# CHECK for a STOP FILE +if [ -f .stop.rst ] +then +echo "" >> $HD_LOG +echo "*** Halting run - EA reset detected ***" >> $HD_LOG +echo "" >> $HD_LOG +exit 1 +fi + +ISE_STEP=$1 +shift + +# WRITE STEP HEADER to LOG +echo "" >> $HD_LOG +echo "*** Running $ISE_STEP" >> $HD_LOG +echo " with args $@" >> $HD_LOG +echo "" >> $HD_LOG + +# LAUNCH! +$ISE_STEP "$@" >> $HD_LOG 2>&1 & + +# BEGIN file creation +ISE_PID=$! + +HostNameFile=/proc/sys/kernel/hostname +if cmd_exists hostname +then +ISE_HOST=$(hostname) +elif cmd_exists uname +then +ISE_HOST=$(uname -n) +elif [ -f "$HostNameFile" ] && [ -r $HostNameFile ] && [ -s $HostNameFile ] +then +ISE_HOST=$(cat $HostNameFile) +elif [ X != X$HOSTNAME ] +then +ISE_HOST=$HOSTNAME #bash +else +ISE_HOST=$HOST #csh +fi + +ISE_USER=$USER + +ISE_HOSTCORE=$(awk '/^processor/{print $3}' /proc/cpuinfo | wc -l) +ISE_MEMTOTAL=$(awk '/MemTotal/ {print $2}' /proc/meminfo) + +ISE_BEGINFILE=.$ISE_STEP.begin.rst +/bin/touch $ISE_BEGINFILE +echo "" >> $ISE_BEGINFILE +echo "" >> $ISE_BEGINFILE +echo " " >> $ISE_BEGINFILE +echo " " >> $ISE_BEGINFILE +echo "" >> $ISE_BEGINFILE + +# WAIT for ISEStep to finish +wait $ISE_PID + +# END/ERROR file creation +RETVAL=$? +if [ $RETVAL -eq 0 ] +then + /bin/touch .$ISE_STEP.end.rst +else + /bin/touch .$ISE_STEP.error.rst +fi + +exit $RETVAL + diff --git a/progetto_reti_logiche.runs/synth_1/__synthesis_is_complete__ b/progetto_reti_logiche.runs/synth_1/__synthesis_is_complete__ new file mode 100644 index 0000000..e69de29 diff --git a/progetto_reti_logiche.runs/synth_1/gen_run.xml b/progetto_reti_logiche.runs/synth_1/gen_run.xml new file mode 100644 index 0000000..d43dd4b --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/gen_run.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/progetto_reti_logiche.runs/synth_1/htr.txt b/progetto_reti_logiche.runs/synth_1/htr.txt new file mode 100644 index 0000000..f0971b4 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/htr.txt @@ -0,0 +1,10 @@ +# +# Vivado(TM) +# htr.txt: a Vivado-generated description of how-to-repeat the +# the basic steps of a run. Note that runme.bat/sh needs +# to be invoked for Vivado to track run status. +# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +# Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +# + +vivado -log project_reti_logiche.vds -m64 -product Vivado -mode batch -messageDb vivado.pb -notrace -source project_reti_logiche.tcl diff --git a/progetto_reti_logiche.runs/synth_1/incr_synth_reason.pb b/progetto_reti_logiche.runs/synth_1/incr_synth_reason.pb new file mode 100644 index 0000000..4cb4ed4 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/incr_synth_reason.pb @@ -0,0 +1 @@ + 6No compile time benefit to using incremental synthesis \ No newline at end of file diff --git a/progetto_reti_logiche.runs/synth_1/project.wdf b/progetto_reti_logiche.runs/synth_1/project.wdf new file mode 100644 index 0000000..1d56225 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/project.wdf @@ -0,0 +1,31 @@ +version:1 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:737263736574636f756e74:31:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:636f6e73747261696e74736574636f756e74:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:64657369676e6d6f6465:52544c:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:73796e7468657369737374726174656779:56697661646f2053796e7468657369732044656661756c7473:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:696d706c7374726174656779:56697661646f20496d706c656d656e746174696f6e2044656661756c7473:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:63757272656e7473796e74686573697372756e:73796e74685f31:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:63757272656e74696d706c72756e:696d706c5f31:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:746f74616c73796e74686573697372756e73:31:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:746f74616c696d706c72756e73:31:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:636f72655f636f6e7461696e6572:66616c7365:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:73696d756c61746f725f6c616e6775616765:4d69786564:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:7461726765745f6c616e6775616765:566572696c6f67:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:64656661756c745f6c696272617279:78696c5f64656661756c746c6962:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:7461726765745f73696d756c61746f72:5853696d:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6c61756e63685f73696d756c6174696f6e5f7873696d:333536:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6c61756e63685f73696d756c6174696f6e5f6d6f64656c73696d:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6c61756e63685f73696d756c6174696f6e5f717565737461:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6c61756e63685f73696d756c6174696f6e5f696573:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6c61756e63685f73696d756c6174696f6e5f766373:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6c61756e63685f73696d756c6174696f6e5f72697669657261:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6c61756e63685f73696d756c6174696f6e5f61637469766568646c:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6578706f72745f73696d756c6174696f6e5f7873696d:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6578706f72745f73696d756c6174696f6e5f6d6f64656c73696d:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6578706f72745f73696d756c6174696f6e5f717565737461:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6578706f72745f73696d756c6174696f6e5f696573:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6578706f72745f73696d756c6174696f6e5f766373:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6578706f72745f73696d756c6174696f6e5f72697669657261:30:00:00 +70726f6a656374:76697661646f5f75736167655c70726f6a6563745f64617461:6578706f72745f73696d756c6174696f6e5f61637469766568646c:30:00:00 +5f5f48494444454e5f5f:5f5f48494444454e5f5f:50726f6a65637455554944:3630353136636534303563393461656261623931373435306630653133333835:506172656e742050412070726f6a656374204944:00 +eof:2983737119 diff --git a/progetto_reti_logiche.runs/synth_1/project_reti_logiche.dcp b/progetto_reti_logiche.runs/synth_1/project_reti_logiche.dcp new file mode 100644 index 0000000000000000000000000000000000000000..e6a1abea34008bab23e2c1568375eece39991c2b GIT binary patch literal 54552 zcmaI6Wl&r}(*}y`;*!NRK+whAEx5Zb?(Ptr#a)6si@OGg#hswR2|*JGL4pP@?^n0J zTkntWp4vHk`pk4sKlAi-)y}rM5+V{I92^`PT#nC-ap?v=`Z7EmTsATs94Z_-oRy^; zyPva@jy5tJA}u_t!|1YFa;^jr<X-s{|+Yq)8Sn1lY=JKhy8=lido51{M)(;;9){VLAIpC8C zGZNp+=HB!tKpn^1iwFKfeb9ou1}!HSC@HB>B!AEyrHnD=d!9>*dE#jR;oTYu936Trw{si(4(9VB82(&n`k z06xQ;7`o`W7aeUcWRm3Wta=*F;&XbXsO?_7a+g(nY1x$cvQdWb3+o83^^Ph; zqRF?}rXMegs>lC;znX}_)~aLi;S5DoJ`CrzWGJ0sK&S0s$h7Wn;J>qg#*=6&4x{R` zzP+abi?XNrkc;xQCoJ{bqTRIQ`n&Edk)2z>@4hFe9q=N_;$Qo0rgvOR^lUT!;*4^)GqXP@=(ik(l$^nI zF*%nf%ch-(!Lc`Yu}Ic(nXW>3FB!;}@nT!9Iv}Jf(UXGHM6f9wt~W=46idQN5{<_l zAB}~RF(jrD?sfU4j0deXW{IO|R~;#`UAi@@y?02Cc1t{?4JQeNhoqcit{x1s5ud;- zWNJx&_wlQ|^nrH-qM;FC#W>Olk%dlaAXOp%?@8&50V@x(51zu=&8H^`Mh6|-dwkG3 z`6-}MDyOqi2e+O1nUqy*K8~VNc37LP$f-YhmXCao&jhabN5^;)#@+_Acy*R5GnZR@ zsz<7 z3l`NWW~TYKDB}_EA{q+&w`kCzTd;N($Q1+c2&l1o@?`LvWgUd&he0>cF;o(5d(v84sd+{0##!3eCc~ z$YJ34>PUUkYj&<(X^-1@A+mXRg2DESxa)U+bf41&^K66oRs&C=SHFSIoUSWAQ$-;W zJ3f8V6g}NlpXb#0KR~v5qM|pIt^((oWOcXFc#zwvW$H2a1_FCr8Eti<;taKX36wPq zJGqbtpnb@mv3xvYMHR{6)ph(tyy2Wt;Khsf==TxzlSFO5n8Fnc$}x@A?ZkLzUJ(DA zHo^-G=6`Rr-M_W}lQuW72iW<)@-X~8JnDIboMxpfC4NYhI_K8#R58Entd|8dfO}~6dn5SsF z96n>RQ1q0Q^*5iyaNhNH<|PN$Xj36VoPN|g)A^7TC=q&Uh@%NOCFB(O)TGz5RF?Iz zYu=r74H(>5R4b-t2S!ySe=mane%7(Mql`XY`J16N@LN(AJR$oI}SX(b4yHn--UPBcG9 zYRWPx9K4>GripEcVp$=+05pjkj2R+vx&d8UzMoTh?Zmw?U;fHn$T!l^sMy|G&$a7TL$q>In`E7M^Oc#d zy!}HbJyt{Qm~PAD0imjiCmGesd_41`6M?IpV%dSbcpd$cNcX_4;u)TT|7x7MqD<-j zVagRjh}4mtL}ajQ#P#;moEu)p&(>u}S6NPtYWodYa(v3N`-Q@y#D4U&mES`@?Q(gF z(RocQWqk+k{yT!`j)ACl@8RGceBt0o|BsE&?r8^hv;NzKr% zi588+bjju*D`DqliM1IDf|sli~Mqn=v#Xw-T*mABtcYNwL z*xcyTDKc3$bX?&-&i^uP?2;DzyKnb;Elu#%^C&-ud%8f-7NLk^X6o@e_-;fH^BtRU zkiD$l?t7x@>m!qOy+sk%hhEPkwx7b?rS_9ipV>_OF8rriYM9e`iLl~{b#TAbS=jHk z^jEyQW6Ktz5oTfess8V^&eG$SYVxaAbABdo-+>c5Pmmk>yA7Gbpx1N8-FYew@jovF zF7BSvuF~CKDnI!s>2)_-%azP{$p7W>f*u#~yY5@Ok1_(qPxwzC%^NM~F;Vzhc{(t( z##?vf?e1)6yZm->Ikn3+qW9cFT9hH4HioIT-|%#n$5|KV?ao@8R5WWRxy66V4arhG zCC>8*O$7Xynb*u&@Nim9_q6Ue8i68KNk|v!%iksZh2k5W5C>>RW=xezd|v!LWzjhS zQLMn={p{bsx@cj#1o+_)Ll~&}zGaz>2ba$Bkjd9eOS-1Ivo}NnWte?<%rv)KW+jhQ6o12c=4=HEr z;%qL3jEO%Rf>3co%Rt|f{Jo?RN%|TY)#aciCaH}4a&JS4C?nh~rZm(q=({wDqgUpl zm_eHJag*TgrOfEa=e6v!+(ivmoY7b-UQ-_t?UyE(+aX8W$zr5#DJtJ!iP?9w4 z8Ou!UZZzr6YjesC2o#c=W>|Ax6(M8Kn*C8R$8#NLjk)+in&n%K?ZEi&!j;+|00eyr zL^|udyxK5>`oorOwoxh9?pB(W&99bT37L#NWt%ooOM^-~T~Bhy(qC@lb2$d_bMfHh ztb&GVznU_zPkh+;1bgR9r?qD{?>INnk#Y+6HfL4^s8gn}#y3)KCy3eI@3}pOYieoB!pZiMVo~@yp9$KT z`sIc1d-Cil58vt7-yLoFK&|*R+b(3vuy(o0`K~Ec<#t+s=#KM7kB#SVr5^?^G~J-c za^A1xQd2*^xx^l~q-=?7>I6uOkNafG9hF%gK}^~Q<=Sc=7j!(G^**h#sm{6-`bPd?%Q4ZXoHf9*xjs^^Y#} zUnhDz(oIEowzwB;sIDq5@VaEvWf<9b^mdeRLpT6lR8mfp>D@)eDcU((w8liHCJ8R> z>RD`AIB1@@6=0Su9LVW1(-$_6eTUPp!c#u`M?N!OZM(U?NIRa}=Tr}fVf8&mHsZL~ z*P}n+VtRRJO+>f%RAsB){%zwwRokE&o^^FNIV~~i?qi|xbvPB=7FF>i@c7K`Gncz$ zSd@~S`@Jo4%QUlT6Q$v=qwc7yC*{<-H1UP9@#w@k z2$b^Ew@0-wGft@7B-Po&@Gknx3Geq0SMqK7vv+inui2|Mgj9?n_)a8vrv1;=7vdou zCJ!}e{ie=-PGl@0(9hmI4^ww1ebw)`H=!YOc8CwTFQop*Y@$lJszZTJz6W*>p8Hu% zIk+MkFH&8WZGJr+LFVSVX~Ow-tJ>bpxwpj?xY; zdRl7JfF#L;jDbZRTfX*A!pYs1gWL7hN>wtt5XLQyZSKI^vn678(Nl$jWfsNBUB}LA z8O2rJyXDW5;wMpS3p;6r-%>A>`Dg6aP8XTeLjVgI(aaBwCI*g*dGUTZLDG9s<30<1 z4^X%1JR_rCnAX$jqmxSw;Y8<+ao&ozqTZdo2{xMi+;ln%-$kJKZfc9--`$S$QF2~6 zllRNIVIjdx%k@&9B+v2B#7Y>dK1mf+VXP>Y_+WaASRGFO)crL+)g6#E6HqDSlgnw5`4GKb_sUaK zK+{quj+=;Klj=k`MG9D97uEgi`m(AdSYz@}yUKE9@(izJ2lq@npSE?SR*JWZLW)hd z;>@}vSIRWA@aK!3=}Mi9RKWS7?2<4mWFfoMeF9G+tQ$6?Of21$&V0gKeut6<(8VPPM-c zkWtirTCdSX7bTn5bgq#TWn4BbVP0X8x~&q~iWIBuKJXz6Njuv?lY?wKGan8f*lFV& z9tvc-;GLO2Teb)hbgp{dn5*jeqPJ_EXzbupPLp@=-Skc={V@Lxc`P9->3k4*fYqy& z8uo48i9h}=+!Fa>Q`wQ8^6$>2&&)xZmIf6?SDafa4}XrZi`5<+?sovn`iDu zaK6bc0ONl%*EEPBU5iw+yXNjEi{#FUM;lGh7w0YQ`s$F;cq7P?wvBx^?CZ_`w2_EP zkNW9CuAD*cMH|mQ`2}HS?E32EuWfTzODgN{U6$HmcXRDLpDbU;{llP}|7f<|%EZf4 z_EY!_r2`_YLxaW&pzT6lS`{nHd8{fpDAJ0fCA^1*xw?_Ox4$vAIz9dF65Dv{+cs|8 z7JB3%u1jc2OQf|b^H1qzMRLA&D(Ff}a&IDX?kY}W_2AdGNr$B}$=`)!!Jf07JkA|F z&H(7Q%$L=S%1VQa0q)t$=}IhZRd=Z+r`nZMvVSxb`ock#@%2zK^Trs7B@>vVW)>9n zd=gK&^&iZUxtYhgb<5ZF(s^UA@#}ZMHvhKAu1{_C(EW|;-MFm`1SKsij6xTO4@tCZ zjh~vEN8OslZ{lnSIyi{EJ2(Nr(l$b&>;P<01wHp4k$tqXD<0#zj5#bVMs5842USp9 z8nHbqtUwp111a9E-nE!o8qqr|%tRLl0rB6{C&VZc(rg5R|xh-14o>ldbng%{_O7pO2dsHVFP2mVIFd&N>Hc=|EKeWvncZ*Fksi z@4t(M41c!uLP<6fMH38c-$mqyQIfmf?xEMB)<)Dnr|$Fb(N2GRVpS;_rD84k z3djoxUs+~kGeZ&%dNti0tO8)=+mWohlB|;h_4kE)Sfvq*IshWpB>GedM<&5Ia<&2{ zsx8pzS*phLAt2ISW!R^ep!}4QFp{h=qPI_2SkEU!0&boK8|WhI5bq3U~8-Q%#@X#I)SpP~77 z*PN|%vfG?3KkC~o5RO#ERDJ)6HL3i&u)cE2uid6>wG*>ueTh+V%jT50-BAm?Nqj@) zlTCf?$d`A-N>%qF#3ruXOv;hh62CA2Ee?9*)t!;#AxeJJ9;2%Z;a8|yR$awOEyT-3 zY>2+dfpdHzpaK9Exig7=d$7{PU~+`(Vq^3`a#Cl<_$HgmJW_6zKpWIO3%Zg8{f+GV zg9@wBzV1^AhT|EI3(~)zklp8T{oGZ<+!y?|(}Mj?q%5d#-A*5#U4WyX%3&7t9bXi$ z$@zHSVVd*mWid7}qFt-CWIKbk5hr)p>y?&=2XY68i zpO?bIK48Xy01J5M0=vv*Fv_Lu+_-UXG6@!V<^xTBy@_05$W7XUqDH$e4P`+;WkFTK zpgqxRUMUr)3bno^&6^^A4n+oD@G4iu*iXlqEt@>In5#XmW zA)qJ)-$ID3`5r?^dhHv`oUE{21C$0FRYaCgh?yj$0^3}dsME4xVPUmFh~qYP<_*?+ z$ys5W;m(gg`@<$lNKe`T&yyaDd46>Vr&nCW$V6ttrP2gX$gEfUH-fB3e%Bw4&_2fM zIA30V*r(eg%NkM_v+CO|vx0~U!Oj-*vZi&BThG8D81~eV|9z%nY$o0@I z8+|J2`7HSqzfxKm?z!(A9RD~F`-C~4RvBU7A&TJ^|1ry`4L^RlG|Uyu+dX_E9;I@` zGSi87$TH*GG@+Mm)I@3q)-_LU1U>!d$yCyye^~uL1JhYez$jIzUQr}|fLbj7s3DPF zpHV``mzNa}S-Yj~xgyhclBD1b(tiU6nDpyDPj?TDt+{U->n%NvbKxQlp@cUnm_ShG zIsm1A#e|*x^!XWGP-~j7eDD&0*!6HvD30q=Cq%uI!MM3d- zU>9PNMy%9F5$hPE76^9gTBZ6C@s>ZpB=;j{L-YR*#s@k6=k|Oc|LS-I<2or+X>@MO zqze}{I`H>6@O;{tpU=7z@DDQbEJrydmUrszkOc(*VL-8LuwW1k!RRIBByfj=1cqr% z2onZb`tjS4`8~y0_`$3JuKfx7vme4W_=-4Zu3C)&a=waVmkstC?;^kqg`6`B+{A6~ z2QNhtEbmprng{j7HHGeidzwFU!kjyD)aCK2_`VhfiTRtAYhd-P!h=yllc@7MUwdw{{jPvEC4VGyoB#631IR# zPJoCkD9()&lFE?)pOUhZWt%@jnT3YFxk7FQd z1z-g|+f1se41`NO0W22-QiM0irfa3+%1E;SXzA2pdTJ3LP2^W8tK$&J)M0WPOPXEB%jM|N=LOiWPY>@>t1YTnB0IcwZt|vVc%1!A^JDV z8=g@Ok^~`6h+0cm$UVyRF!`tRR_haQ63hFunfs|mTabK~jCFXxedyH9{C}iwJd%L+ z5n#U!Z9*Z(n}bSpTsOd2&Y<#Se+9-6oZ=2F@_~f=HN)Vrx>*fh3VgI)*uG|0`_{}0g zYKhs5IUoca@pIqRPCuJ&T+Zr*Uk(V{r3ahb*V4VMvpXKiqYm-drJgYm^RHxtphwW# zLhExvI2yYs#oAjy@~SZt3$PDkmy$$luy@*T8nGHV=FgV}8GkZ&#oxwjzAcmB+cFiQ zmEEbnb;rd3Mza$dd#}-u^WH$9%33jbjQ}ATU6f-f|B>abm<~pPHpBYwp#5)h`dbwI z1p}5Oop7$j-_)gPxd_Lt00(&qV2Pz+a(_D+2yIsa*y=MU;LtFe4kvy>{Z}q$g1x6O zXN)sANkoKJn#O(%q&*89gT8U1RmufCv;sujL~3a7ys68`KoBMpz~(vL$hUx_2|7A1 zLLF;BS$zW7Z{@99TLv=RmjDK4{{(NXy~$qM3{}xXdc#Z`4sW&@Xr&EA#y~yeKndX$g331}Rx*&5y9BUq z(Lelr>9@ISVgTW*WHw6#*oJZ)QTL}6F-?YkK^ z%P$BC#o63(@*F2s)8+;O`!!XW@e$HYP+ z%sjKL1Z1><*mJG|6K*jA>uzo+Fe@0%cU;(zAVxGPHeR$nZDpvMt6SIpo(>)q6n!D+ z7Kumq{UdBBkCfb6K!)5|z^^jg^37Z|B%%{fVAUh`*#NQeoO35w z_VSV1$Pgl;+*C(Rp3$dhWIR>wJ1~(fa@(@}A^OKVX&f8zR5|Ul1}Hf8bxxJ_?Hn zX0}6wkq9Njoq2^Gj#ic%i{`qKvcs@5WmL75{^1Ht2DEjdk!=yRLK&r?uYYhl!b4ei zYnV9X--Y*G*ku(gYyj}gi@H7>ER$& zG)kkN(o8Z$4icew_88`6SHyn2NZ*q93TSl zgt;U~54o=&XaL2c`wHn%*7rG+qpK8p>i`3{Uo*Q^;URPzvQaY5Q35`(P@P_-I+w0dH4$|kvXRL!p2l*E(?f5?v;yYXI`(on!_Oun zGfoEs{q^FB=7)iVy7S8zv))Po1m$s9gM{|IFgr+L1aU5U`wcB2AN+n3vjax(P_b>k zArAX|aB$Tz&u>8`PCEB}==iCqyWE+rZ5}?1&l?d9@5$|F^B2rCer84SgwdG2KiAaA zGz`9_AnFP7{JY_%K-CV<@h^+X5jyRm&&`JlEm7r#;fXhnB|9c+<%pW8TV@8$@)fr1;FN_eG9TT zbRZ^hdSf3NIe$r=BwMbL`rrlOSN6^|#qS@4Qt-?=ehJ4pa8Tp^g@4b~&~Z%s?uBUl zuaGXrYl3AU1sU>djAbB9ABAe9xi2^wa(A$9IxxNe+ufCsJUIVGC6u+>`HV%C3IlqN_1Q$veWXR(2-#%Wb{gOUU#s_ z((t!CPPq7}TVDqiz;(>6FG~%=Z_#DigA*qHCh1aPgh({J4wVnAt*r$CpVvRAF^T!B z%Z}kh?;c2?kWuPgLo6_!*^|y^)9Cg-zd6+^KkWMEVqQ}C?ntw!JSEmZl4anI07~#1 zrY%k)Q(tP0a5J?Yjqzbe_uJka6Z8Q$2F5Y@B)*O~`d-olhk09_%OzlgUMFcVS5>f@ zG}be#T*UEb!?)j3Yo1CJ&mhQ8e{0g`%5$Q5E79kC60b2jN^U3&Cx0>4Lg*W0Pi^Rq zWEJ%kH;6n4=d-F~4R`(VH-Dw9vi`$Qw)BgAkJFwaLHvcuSj*1@d%^+&*Bpl3ZLWVj zLf|#Imu}Bw{6?!kCj41n9(_<^H|)(vPCHw=C`g#i4`Uvlw$F~TATm68=fS4VT!ynqgYey)@>i=o)918_|<9e zfFeR+M&)Z&KY&#jcc_>8uiPQ}Uvp50S*0q3u|OK1p!DyO($n1S7<;v9Sf4=qLDYnL z!C9#2+)%80GuMwP`x*kD@j3XbA3Q6_jWGfpoC{bS@m+;(YL(SFm-xEkp=!Sjy_uic z`-KE)s{{6Ae^8kh9BWi44qemoq|zd0=0gMabJmZvj(@JO`my(m;b>RnV$F|Xri9ff zdXtKXMoM^e=OQ9Do0t9=PHe$2Y?!mhc7fKI?rqn?tvwbN4-{L)HPlhjBM zvBUE5evN)#Z+^PNhb`dragt7rHIPFkLD0NsPjUrensZ&KOG48m(tUHCBl*F@7_c^a z@v*MN)C55fXQ&9u9`zy#NWn=vtGh9q|}F5-ydnA^n`5e;yc6|$AZLKK-jvOcQBEO5KMI1 z^R^2=8-u30`SfaQk)92Et_HsiD!Ju$8xHc$?IG}*WjAU<1OLpCO=4PCRSe}sgxKL|P~eM3 ze8RWY8(j!5Q!o3JEcMG=@GrxFo_qSsHF?O-(p|BUUwZcjPY<8_W61QmD_!v}^Yr@- zv{{g!`Lfh@!^^vM201JqY~pqp_Kw#_5g(4IyA=l={~*|$Z?W&K46!X&tsn%GHx4>Y zIwCzI5s~j%J4m)0vg`#mmkkCQWp+ysVp?2L+j8R9==oy!Eem>`M3_|=GMaxDqr~>O zqN^5aHyxCYz|1*VGePhXifE68N>jYF?7QW zL}>->>S&}b(F~dP0R2Ho3BAKI9l}N2EsB4w={aGOi`xrNyVBs}(8JP78Nx-vc7eZH zjdl<679PtWnNh_Co%uN~fdm_Qn>Z?FGbSqt|+wbgwW#^*Q^Zq%&dc{QHD^QEI0K`Yp(q3vde@T#I7-;xiWJ@htg?Zbi@sDb?lVc`dJ1Xjt(FkudSxS#?L6O%GEkNA-ztWJLi;Kp-hL3UYKr*bvNJ0K*L^VtCzs z#Bj%ajDSRgjRPR3q)n5TB^ZmVi_2wAXfON`TWtDXHldxIlo|tjPRcu$X(gR_G@cSf z9F91=$0~ra+N!O6c3IrSl)(tDd#|EFq@XbpsNN`PEoD)M5gW^;kn%$(p?#Ih%^#qLl0D;K>f@qp%aKXqf;}aGA0yxk?z~;*LYFC`FKwjJv!Pw7g1oB4X^W zfQ}@7DfDUCOzbt3hs={&=B2DGw7DX3IVbF>_yh#4aZDH^%BSxwG#OHR$Or41l+%J% zxSN%`lxMs?BgWpdCl4p&BTh!pV-pZ?;}!9!cwC80(J=TeTUINljTrAKxTK{pFvONY z(ez|-qLlulgU)>Bu6Cu)ioL`ufQ=Q6a_2^gHy(aK%)^5gD=!$W`dy>DzHv7cxcy=l znQb(*o|I@@f8fuQL<2y!yFJp zp2grCQ1vu)oaH8~4;=(R^oODc#eEzaa z&$xPc9IR9GsYG1F#GrBhdP$zDj;W4`seT)j@P%&V*+)8o!Skn2jSoNW!DLl-O9fF(kNj5t>HCoY?LrsOoGzN6(0K$3d!m}Ki_*?CH`l(2LRtGMB<3pXTHvM$F zfUi96>DCwuFS(9IRUS9tFdrjaxO8CP6Jgr}A9j<8pC+zVi2%lg&)_x4gW9oCoimoXqdJ?LIv2ANCI#)?M zrMnaZ2zhDjb3?|qdUD+Pb#%0}G&J&#ia76Fj<$7Hl;xr6euSNjeCAxa1vQUxxZ2Az zGcz$#3kui;KfdmRLWhKMR3i95uBIwSv$dzWwmZEWy}6T@`s&4SczJ*2oMvT5)oj1H z@fB9r)Ykm2+lLzI;rU2X#s^?AHx9eqUj`rj%3Gb8bMdakdX4kb9w}o`i(^0rVuCqC z;m{>mvtVbmD)^`px8*KJCOW#eR%o09Qz?Q%OojYLe}=_SZ5FSciTYIb_(2WO}u+a#WsmItfkTR^3( zUk_i}qk-E#zB}G7TcoW$4lspKpjvQr#I`T*(7qc!dCZ?5QQ5n1SXW{at8TEiBeg#u z48cjL!^3+5C4foa%_&Fi*WV}$#U;T<$Hu|IL`OqKK|w)9MSE-bl$dBp2=LSfxEP5M z=1uBo?+&N&uopJIuYTu`C)cBpSUVDjtdGUEwhs*WHk%3kh-XbDV_*DfgzYj*c;PuU z#>ih@?VX9E=B%Y}d(*J{1v?Y!JuMXs9Sfdt{+1EP9hrWa?MK}eebjUk_R%NW{s@Ad zk8+{a@M3E4;oG;Jby3oo_>o*Q^kK>Fu*%@euo`$BhVPtI0ULMX7_G&lrt(+jfY6A%v0lL_XO7adVyv@FwCZI4Y zs&5D%{pH1$Pn|OD%5zuHtDZ8Jgtf@xK5X&0{Gh?f-oDX#!A^&XT0<|WzuQUL&_yqO zp#@YdMK8VMY5?!ACz$UQIqbHjN~%vjt^|g<6F%b9Kh}`0)AntL3)MhKN$m@(tmH zJ0Y+w2zwZ*8LQjV!fZR$UW6+6`Fd8y@$f!lZ5J?bp&Msyqrd!p-RRqGq0 zbfAQI(LB&{{l+#OXTpo<4yU%-d2Z@2HNs7>bxe21Kcu&6^r%QGPLGJCsvuzr<+H^# zkY^N9QgzvsDKvf7>L12$_;(Yfcdy*Jm!QDf_i-8BopYm<+FXbaLTwcBzVEcYF*4*3 zjf|qQGzs{>E*jIWb0BW1GpQxl!kyxLOqtq5_bmh`kB*Sq9*flg3y(dFJJg&O`tV=n zwz5z-2vj*;5Pl!&ey;ELHBH>9S@^=tW12WuyRiJ1lAkV~Nqse&-6G$(ceUTWt#_!| z({5_Q-T8{pJ)s@yd=e?Ei)v})J0$51-Su84T5(&mv&=Rfy zRRgxFn9BZHzIf-2Z#SqCcx|C#>9!PAecPi%i@ER`ldR*1;CBZhq;Xlr)rnjaC9LOE zd>5CGlbW)N%OlxkAnk`xYvfk_6Y};?>CVFv(hqB8P4o2hO}XFTxOsKL=-QSZ6IrwO zhaX?%`(VO4XyXf+uKJ~*vHtE+v(+8SL$MQa7LTNJe5EjSfOz+Nk_hGj4UayZ_a{kC z*Uo;M68A_j6t@{IpR^d+2V}`P+Vx8G0!>BQElM9aB&46o>`W&PD#aJmjAw&NEZzJx zcYPPoh1a<=E>^=_Gy)FN(n(@1d`yg3MV|O3%kvm{){6dtZy;;cR)*3K1rY(i{!~G6 z>fm`oUXX^x$}jn&-C{zcf8)e+)Jken>9o4SLZ?s*e&|a72$?`(^cFcH68f$aF>=Z@ zje$YYhjDY>ErTo(5=VY)(2Fptr%qO2k}S&hRH`X5W#IU5HKB53=u(Hkp7U&!egaAq z*`CMM-$Tw0!cq57czOB38=jRzY@G3IF-?Df*o1veEV*2k zd^H#%(XvrjvwgqgA3sWm%ISqSNb2~YM|&NQa+vD=9ZhR2dHfo=_M|zM&W=g59(;i1 zX1UgS3U8li+K$e@sk0VVci{3-aGSq6q?#~->yM-TsXKG#&x@5McF@{oCF+_>=kIkN zI?vC|r?gw_MZ3c2qG2HCr_@(ybxT2K1OJz2rS(P6O? z2zL2gBa+hjUNSkYbMYrE6CV#1EPe?GGh`~!2Sf%vc~5pWtqi+op#+#Bwh?kzfUXk# z*g$0rqj0J(BLDh?n4XH!sH!H!bldal1U|HG4tUm?M<70%%wA0Z@5cYm;quoR_PP}b zbW2ZN6*rv64jAbpzSXyjXHGOra}4EJCH_f~Osi&w5Tpu{eufGdf34Q1XAc&daY~~W zhjf*k*M+wfi11)#Fvl`&+KH+sVirim+|=cj-0N2Pl-70r#k4RsHBO~Umi*W&{4kP( z$Q;s($5~7sJclQ##k}<;c*}cFEXyds;^xT_VWQfZ7IC2l@70#|ryiNEG@#8C?e)2!gM!;S~sF?{_m|0unb{FeSdsOqEXF%b- zb-P9Ru1T>Q)%4@Q2dk$9V{HF&>DDhFgf*?DJ2<-w$~wkLLcebiZYtF9lckm+oywH{ zD36~!!;-?Cso?jdqUc90%%YEf39De<++6LSmu1A=^H3y1gKA7k6zUBGsoUCxHd35| z>AZ<9_{jY}=J_4=*zcII+Oj8#`^)iWEY4bHI?|?xk|Fh3_%lX)?sYj~j42y;9>pLu zatswsNRrmq6l|hU{@Im#baSOpsX;Gi;P!4#wjt;Pz1U!&<3W51_uakPL)<@@kz zDc_O8u3yBSV|!G3W_G2ycU*Pr?6%Kch&L6?!-CP6W%2O9PGOV{girLh4=Wf|pVTmV z?_1rJ+bYYB>T=mu5J!icMQ3%)4?egDKNW8l7TRBE$=j}-@UD!RookUZ>tquEpp+YO ze+#F9Thl=^`ts@mPk%_e2Bv-YPf%j5-VQ`R7ya{m8kWe(ArSLbE6|bKPh;#u3z=$- zxR1;3X(Pyg6)!!=*vMrS5wJL>j%W6`ynkrU4G-Hz>P0rhKvEE+TOjcw#?bXfvt2nQ zCl!nuj4ifI80rhJdAA9lgtswtO%??STlDGZXzxCc@l)u62OIU>2mx)u7BX}G2Q($x|P^QY4Lz_~4Ta3}1U5+bY!v=Nr%F3sU*%%JI}et$R` z7t&nWZ?1d<8dIXy@>pe^gz!%)iVV5ko@Wokd>vK!d>DUH428C3-sK%NEZc zO8zB;9ln)Hi8&Azf8-sa**5h0rAW5Ra4PXg^6z+Z!RK^v)3iDDwd+iDjQkpm*^HGa zNC4H-0Ww@cOi?Hb5p_SZ*0(#c_He%Ktp)G%xwZUrC%U}8HaX9ZBvBYD%ODO%;}L9V z7nmxqEgHGPk+FUzQ6P=xfyVgXOo(1PJm z+{1>(v9lklS1IQ{@?-lZs(jhSVg|A-m&{xRp*rJq*Y**Cp~JpWjrsttIu zKdrMrm6S-}f(xyEfzwAI`qlI?MPQ<;dII`I!`(iBMin_c7MY^HLsOoS@e!Sdu|_df z-A!nvl+9tt;dSzHV&VKZJ^zw;?rsI-UR9;l%_J;&qN_&s|Do#}V?67EH`}&tYudK$ zUvt{FZQHip)3$Bf_O$KZdH)|a+1>1uQ_0P#+*GCNe5lkt_bG7JmAk}ji$iid{-tG> zhwUz` zTptheT8l-n;eXA6ajX)wow1F-Z6v_V%1xS^Wn&cQJt_>i8O?RJ5E#)6MhMOwm}?vo z&K@bsF|sHOLOmJwJTFif3Mp&>h44~LSRm+ohwGa@`ILhCa%ltuSEI`N=N&|ML*M@r z+2oW8bu>~$vhwtgN2C<|6`HpGj7GX&()3N2?~|VfZa+z^d%*uzUbV+Vaa%&j?{ko@ zwkad~0JUzL>h=fJ<_uZ?Z*(vE>t?{^#uNiDR%&Ali!5TA&nHr3uRFrr-S%SG#fJeV zqL2)+SsrFhj{p~WlBfc~oO~~tk;o0xp2b)Tqo>;@+{!iZ_eKCZnFKRV#`^I+{D2@t zGT1=ySyaXcAkn!W))eTjW=ukW1xN~V7ZMw>>3k` z0Y*9&7^_eeQhvx$=6tE~U9uuUTxOj>I(vJGv6K|puXz^$xNS%8|6nyduUp865jCCm;Hz}>~uxFd&=;50m_@!qR01A8^!Tjc^@L3Bsj&y z8WLpi-!HYuXH*ubW0yUkpW}he3xKV>qc+Ceo7AFvFUR+8!eUj;73etB$&V=nN^DX;*|)OHs}@2o?Pov4 zN4n58D|tx3ZD6$BoIw9L+<0%lFWM)Nbk-O$p1*`9g8!MqiEn`QM6ZmE5Gi$uEH(M+ zU)llUY&c*TU@TxICq|)u_gL#)4QWrIQJiQ1@~HF60(#6=YT~!fVo}hhIBO9$w%E6( zFOTVqYsy5Yjp%qTeXEU~)PBlh3%$p}Wpx7^22&hXd-G9CO7;(*pSG;mm4>n`v!OQS z#u`#KqBt265HS+UM&j0r{-*h`^JtpwW}@z@qqe;vFP5aBq@cbOStRQGRCIWF2T^wXeW)l%Fj)17 zovj7{P_^8?+x&4};xD@{By?MZ{AN$C1T}>=K1$DI9Y_XBx#3N8!E+D@DY1wY! zAsQE1HMd$Q)pRtGVwQBoJ7qCUc;Setvw=nuNB$qg5@pVI^}a#(+`JJkv2Vsw8Xc_> z1-Z2+bpD-T2w+QE@{a&2(SI?)D3oA8A}d=*)_ANDSOsWs|Fo2GBh%BLayD<&#v2M z%W1pKW`oUY%0Cx(E@!SVHrW~6Iqfw@|I`;IbebPAxb4}e!Gc1=h+jKG{1dnKLS)c? zS^XD<8UJlh-kiI+!=~(gdv;Q{_Gxj^;?{WH*&hL$g_g}!vQ|0&J)LU?%swH}e+VWi zTReB>&XF%$R4Dt`ug+*8YfXU0&Zztcnu>;hAyHueFZT0IQK z|AIIEfcBqGv;FFy>L03t06CJ*BqSu<({o4(5#iFJqO9Cl^A)13SsBncIGGuI_uY@7l@D?8Ttp3{rz7O{B3A)&!QkOF(ZMRq@GZacz_wTX;ihT+ z_71bzUuOxF2=+0l{PZ#~5=LqXFJOMrm2PC($vJc&OQfk8aI@{QJnfOM?Q;rkVtwT~ z@sOEfG|IJ2D@4u6y|d=9R^BW5MCBfRRv+V<)JyG_t6s_Kq+Zv7aNK`1S4kNZrd@ zLky(oSq>cOh6w6vma-oq+tcTKsjjy|sE6$f>^D(=8T8yT$JRp{p=rVkU!EKp=o#%; zlsZcmAj5qqRft<}tQrgP2@za$6Mo$5#sNHZ>$6lPs?iPn^aQDk2A{`0`_49WzeK08 z5m+8f6o_uU9jsTe)!Q9YUBq=JvZV_2Ys8KAV(BDg^?*l)7`z@uXDk`h*$Q?}^uCwX zc7;Y?0O{ogNWjtmiJRQwcK4l0@vuL#+a$jZkgiJob_s66xL5}6{8SH9Py(@ne8Hu< z*JCJ=62Y0gh2uEsB{Kl2B^F~)E)QZg!T2;OKxy!cclR9p<4q#yB7v7pG0!;G$wMna zuwN47_mw}EIzl=BjkCbd!uP!}uN6+`mdLb3+!^44WTsa054G>CEuYVycYZ8FfL zv9SWc*Wgdh=0v}(My#p%?IVy%kEbf5woH1IS1jn-=(v8|UDVGVb*6bP=Y=MO3a>jq z`by}TAx9~H?5!H85IiFPa{R>2?R9w%s-G*i7BB*Mp+y~cQ#ikE*{cr7z?iY$z3Hne zedUU*Sv$vScd_?11_o<3(2+x(CqRxqmQU+V=7HNs> zc0uTITan{|uDiuG46Ep~YF#W!e@Tyvb1ZeJCZM_Y(_9tCCa3dLH;PkDh&NWi{tGEw zv-(yP#Nm+>9@r{75QsqjP_*E9P_ z3(QIvlFE7I`fkqt_@FD;k6Z#7u$hUH^D%U!44gTY#GLZ2AAvL8skCCa!Z z@b~7vH~a`6bImsE@sk_Elw{%z?6hsi4z;^NaBN$StfnBc%W3-L-t+NVI}*RiUi>n| zQ>wmxO-zX}39>wx{}^OCojY7yM4AZMG=Z_ef-k?!$@U=8OoRggSp>96r#AO<9y?J8 zrIt3){ z3V`-+D%*0x9pSMFM#B*H#Kl##j_6czqRQrhX){q95oAz+MY^XCi1pUWg{hX-_HZCv zz%u^UUd>==vRfhSN)NKrdwHMfgH;c3r&^DHCJSkw#evBfm~|!UpN{t>hk}(B-D^?F z`w2EE)qySo#0~9y~c_Pc~s&WD#l@md+*K-M?Wy969&14`y1^9FFJm$UDrK zet))jN5^*C9l_=pPiQ_9GrpJdE%hyKAsSWh=8wKWggmPy7jOc2dOPLrSLE~fb=U~# zwk!5G!ouIeBI(d16D&HjgPYjv#qm)~K}$1gsX&MWKOamY6$)SxK$pEww92D6|E(TH zYFBj1M37APzz|!hrPEweP4I;UF0hn}mYkiZ>^nv+G|-d>d?i!TdypxpyXr`HF)VI$ zP-U1xWZk*k&|}S{5y-$qQ91G*3bOZ5$_K0qYo}&}29#J~MzD~KD`MRu&poDOc(iEk zZsPk*imM!s&YakZ`d2BRS!TO|x5tM?YK7$TO7a42UOpj8`LE#+4P!}f(fN9SZkY#JkYOE5D`6pB*E|i*yI@xaFwQj|D?Ez$vAjr6nUidzZbUA*dV%kWy_jU4VfEa2RiD~D9GbxKeW_UeVh+q|2D z%%Sfv5>49@h@?iVp+ofQINatxVt&6yfUoDFv1{^>DRCHN9U)@tbe_%&uY$gU-ZT2#ERg(%iiK?uQBT?5IRVglx81*0N`Ekn$B@a$*>d`?0tyZeky;2< zAShlV1M~X`jemvec9y~?lO)39)(@-^f8#Z!OM=e?PmM)(Dz$kJi$%mQCDB7J>7_l* z9?Vpyw&tP$0IG0Mx3$@@At`ftd8w(b!0pE$RKN$P$K>z(xEK)p4`m^bU-iSNEJ4Cw=O1mMp3`)A2AgMMDu}0@nbu77KuNiuq+iHC#6n1-~XU;9^kFBhYjteEB$sCuK`{~S>s1sOuH2w>b z^x3s}Bnb9b71~KL3$yi{6gFy((x5WY(9FQY-wA*CnuaYy=6r*RkG9o0PMOP-aQ=NI~qYmf7>=YNp?OC>!ZbXrI+y) z&?uxt;R5 zkH81dw3o&EU}b%AM=d53nGcn=i6j#FMkNiFR8amGKH17Od4>}DW^5T53FQuMs|Q>k z*mATKMY*`=+sXxj=qk-@Lg^^V5XPfL1XONnyvX}r6cWfDcg1<_4$0RA#+kaEkWASC z?BlX_zCt^=&js}&^?A?{w7P;I=Q~WqqB_a1vI{Xfu191ETby~)4z*S^bbJXUlOd54 zH>3{AJ%|fms?-?L0uh-r;0*=mG~u{kzQ-iiwmGeKg{$DLU{T@uEo79;3a?8V!V~va zVk{)-_tS$TS9o%%n+NdWOOUjE@!mk_f2CtZwa6w<7Qog7-YLFb$z0yrkYE@EfVsc5#4Jm`uZ^QsgaeWW#d!vu(wV7$J zkml|RUwa{`SSXExwB$LUXVLUi2m83^))p$+hY*?3>qu21M_q{ip{Oq#(%BGqI^<9z z^+dQfEMsu~X63o$rBogwZ$)u?KzTt%eOB?Y3OrK+NG9*4iwf>T$dHy)WQkPG($dnR zHl9oWb@rCm9E!u8u1$i47ZK-x9tYGSw87#N^bX2ex=v-DX*D@zV@&isG!g*my5dA9q(2Zl0X^~Mi(e5g0iWh(OtGmz zC{RH8KJ2N9nK~&(P7+&lNi7i*5_@hMk17B9ORJ86W{Q;-FZNO3BdP zYr2W-Z1DzMC(sVhUVAiPIs#A9oWkD3bNXLVv0x2(iS0fISZZ$%SuK#8{j#LJGL(jW zsjI(5;KYN8w0MW)EVW=Y&$XH~wE@edvZ#wYFf;`}k=&(n(^U>D2N@}$$knfC;Y1j1 z-Pw~&^)IEWI)t4JS-z4-t(l}%K)!`$ywaN~!Y`0)NMUi0(8N%Ib3&Tt*Oz)d-&!*_ z<(Jh^6B@GshMuFj-=41q#r7$vj`;EIBMA=n(widf@u>8m%SODt&$yQVWHhy)KHs+8PDu4SDV*FQcW%fYe;llRzU2hzxj6RKmIxT%wQc3-Csaa5FP z{LAwO_I?P<3MoiS75%Uf(8+%psXVBSDYG7lwoSY}$N=O@D-?Bzmf`%Ds=B43RJdy5 z5)QHBBR2e~N=zxq{B3N~g04Jx{bWHtnJES>;LkG6I6B-}qRbxbiODE%n#UDg4JUYP zH;V}AZ-yp$D=jOOI9j5cOFd$@vz=uFs~lGDaamQ(@ZIo!3sEIiX%Fo6Ds9ct(WcqP zw`Is?sDk8k#(9gvhAZ!j?h<}`3FJN}1v+PrL5${_$U|@A(my;QcJ^};TAWOJ7E_^^ zYs9gDXg!~qx5B4$-_5pBU!nQr7yf>fAQ-z@RH!L4_;gT};Tf-x22Mdv*h3=z46XqxKptbe38lka$L{tdcX$$NvtzPW}Ta zO^6r?1P>vsWAf&EP`j?pWfZyL)yXAH4`o&0L_v#)oo8k#|xO(t{BwpA+*kpHdG31ZUay zdmsi3PL+FvqT6UTsUN`Hzi%->eC99ID71S1lgoWm7|X#NX>3K`gkR%CY2N{_g;}%B zxy(?LhP*tLxoBE}OMLV0q?kET@DdG);T|djP+wi3Gp2DB$nW<~`yN&IZio?@=v*7m zer>KDONa7HLz7z{sD>DdzMSk{dwIFGyxHFip2^Ec0sI@7I?|Q&G%w6pnt!#b+wPJ8 zAXGEjoemXRlK3HiZRoi;WuW!2lEt0^#&EIay|YGN89%*k`@=}GCate<+;AJ*ek{5C zShWbuOM0{zyO`zNfc}L3_R*c^1ZTIM6S8He!)x|H@pR--!{T>0 zLIq?};fbwsD$bxFB>@6^y$CQz%rG_J|AwLcBA0?#I1uJ#U`y(vUn1Bf=F?AVg|u&g z=UUnSv6S#88YGkajY0r7zl4oHSh>=l8PC<-nt)a~@|EVtL})(Mrtc}J!sp=IC|~KF zkW^GF`|+ls%gT4%kR~3ioM=r2Gbn|3VF&h;F%CgtR-Y4gSB_!=gl+Yr`m;a>g6swA>s73FT$#8OsqEAseU@odP@e-X5vy~?Fu^lt*_r*F!T!Z{JADUCoC_ZNe^kWU?!H|5qH#5mo%%0N> z7@p!k+KLtR4t@Grb&opTorK=u{lXLCL!LQ5ITfWv6DgF9f+AVw9jf6*MWo8aW%Eh4 z0r+fOnpmYo!f4Iup&JEv5rEEGVD>f;^2^6AT2iexE09t!*u)uQLvH!lKZ3LR=Ig02 zaOAEjXn)P+Moo{5t>8)Qc=s&H4$UTG4Q3}ka2J{?@Ggeuj*Q_{%YXevDW_nv`gt^i zUqs!RHxtCN?bUi*pZcz5EA6-U4m|d?AzlfLw3&zGuw3ev@;#jaRqutrcUEe`^xCZU1zB*O zv1k;W7|*npY2C%H z^@ebb)2jA$FNR-f6)QSe_GC)6KY^!Fl~-FAi9z)~Vg3g${188YW(f+05Ywz}Kso)or{@?XbAKHZc81$HRO>z;ELejp_Vokc(gSX-yL7*zC0Z zhWR(vrD2Lv`zVV|`HiZ_9Q$@Z&npXehwVt<12p)7eK8Ij zAj_1A$7~IG2=gr77X}`C=;ZCHT@04UtKyQ&M{YXg6bGL4JmVifZIKe-?ypM&JPS%R zK^DQ2&{34#*1bO(J#*WDyqxW!DR(A_4L5#8@wd-jP?xI~kfnYDx`;r|z{^;cyT}~T z&Ru|?-nk)~$F)I7PO(C|L%9AnH5XwD=b{g56+BxJuPdjo?gAYCo{ufQ-}JQ+GT1XB z6@|$xQ)drO&^shs4?39~aEvquQ11B;#DEZBD#pa|KayMwFy&xj|)hVqJOcrBCo zwo~ycE{e3AwT7tUG;t@94E>`$piDt+iRiBL9(%Je z&4Lj6fp#J@!r>sp$)(%86Pj&F1Q+*Sj}pB(itk~u8G;OlxJ?QcibYlo1UJWq)gvC+ zutdL4uR3MCSALpmc`}k>N09sRMuM%)d96doUWmxqke+UJ)`0m`a=qLG5^r)}DZ@1) zQmz$rw3;Pn{{XTc+r2cY_ z+(FE}jg;dnUY0k1Zsz>HefH?oF@Ju__fOclzrIOOeS+l)f$NF5GZHkbDyM#~TI5Pv zx@&uGe7zC2bz+#lZ+JlrUERulu6I7JZ6CIC9I%aKM?MACZ8xPyt53&VU8hn>oR9#^ zRh6CUN`AZ4Uy46}m0fM}whKR&o|XTs+~aAkYtoDh^NOFMf+$Nw-Zn6 zOTePj$xJL0`zQzyC=e)^%LHlBVelAMS%Pq(y?wnuG9o526gWH@0wzK^5psZ{LjW8+ zF?obC_8kz@{u&Zgd3L(Jx4S=?Dt8?T$$)|4{%d;qk!XmBQE*XkQ4lGJK9GLjRCVRW zk4;lqhVi9vIUg;l!{_-~d&T4*ZXNf9MI%MkRV#ztcbA|llIoXczL73Ut!>(@`_SBl)4YPnUy z?tWI0aRAZRk1p2}q>6QEF@goQghD|*x&e_UtEa#_2h>!+nb4sk6+S_1lGxI0RzBI7 zbt|g923=eF9Nts3o;48%=<<|`jw9#10huiFr_jmS4%`a)_tA^IBq=7@C&(3a53C{- z$=#fVcNk)y9#RH#9PzAYu1HL;EOQp_EdQR(;_c6P;xp2fr#vJ2s+C%o8XTEkT@0&Z zZwt$vR`K%i>51$y-jWP}tQR;2ku;7J0)gws^1wjt69}Op`$z;(5c~nYW9#%JX*)HQ zTYm+I1Cf8DeW8v0B~43Q4oAg#mdW-sb=4Skk-AFU^N;$ijD$yt(;2ZQFh=d@Y7`7S|CDJa*Yj{tP<^Cp0psSwfQNE?D8y3&M0o z0w<0-bxNfeqfo|&bc6>Ha{_sKx_CI5^#_(M6J2}@uWA82k9aB$hfaLi1PmeRSsP_K zbAI1N-B{-MRdt{Ag+=j{@q(F?FN}+xscL+M6%rI|HT(=&ID?U4O_GyY&HX{7MO;%M zPf1*4JFfCPT2YqG2?ZbgFYRyo(-drm63uH=Hct6U37$+I=^LR)l@Ri&I$NUtsIcs$ z5MN0&$f7SvPC~B}IFDI-O+>Oo9zI3iOaH#*VK^L9v3qX8*|CrSAyS0g;PW0bVf}M` z^IP+ya#L6HL0M3>0RI;kuTjzpM!|~I9=(9+`7C`)7z(A-+$j82a-a835u`P&)Vw=mi$6D~(%e-4z z%WrY3!sHZkG@tO@5T*3mGZ*D3Z&N(U+VRC4@$ZmG>UfW%vZl)9Y2N zCK~!{1?bFdw|fN>yBjOUYfouferfNnMZ1Lzw@u0(AdlN_ETaFe;BU#GHgIEu=xnV@ z0*eP}e7#ZYEtg|Xzwa6G1G2ZTICFak?zM7H>z2|)^dJO0h^VyeR*iI=uuZ;mf+^@rZVw4SuGv&Qb5bxoZPoO z?&Z+ZkVoRsvI%yQu4@FjToQEwDOKUTcedFhj01_Q6hCN6d1}#v&Jot0HP(eTUYCGz zx97@JM(g6iJjro$vu=sJnBhT49Wog6uW-zmQi)|wN$U4WuGH98n2u8(Y+Mr~I3{z1 zP}>>C*MC-wG9ST1Y-5{9n`3caQuC+b836~0M1#RvzN0P-LjIw~N1k{Vc-O8AM$qW! zNn9h!%_@r%E^~;lYe4W+qS&?dBer~5P7Qgh^CLfLu$S4F_k~H~=xk-|BP)Vj8#9JP zxYo$Hk7mz!IZtDQze;&#Nv*WWZ&~Op5F`NueGmCERF0xV`GkpW%fR{7&n~a9oIYnH zUjxZk&jBE80trf`vx(~Rzb-2cOwA2F8t?9vBvQSECBleaR^!B~;KAZrW{=KZFLU6$ zkh65xm9)&mefj|R%nTO6w*iMZBSCR7OYfyTJz*71$X4$kseNtGg#!17Hv57S5X=4& zYYK@iNG`9J4~$7=B5~p(i{T4V^OFuh&X^>&xTG%WAu`V`4IyEy;HN9Bsu#QkLZGvl z0^SlEg7>d$1bEy-{Rv^v6vYBXh?VfU@gQ5fDF}I;5{hTGLq&O+?Ak6_$n)q-s?VcV3BuId75mpxsk@JvdB>$_mkc1#2GczDpS2DTy(v$Y&^vNW7u3Ql29L^ zm+|@Gl;*w-Z9r#M>rqDQAihJ>M=!dB{t{t!oXRXTBU9s?*bp2qCM9gTO6O~00|p_d zHDQP`*`G(l>7X*apubqXNlC31@BMFLkUZ1>OblW&;$UX} zZ(gHf){I+I(VmsT`fDUcuN-EXZjGZ+jdTnd-gbM- zkg!^pfI(j>*il_4=K}497TO_d%0iQx;6$R)WLv69$n7$x7;nK+l1f-IQYrP)3Ah}4?g!u(>+hBF|mGoS}6$?*O08z$RPWrQ_d*ws?s8E zzDOb;wR5+sZVmSAL9dN87(dx?lYUSgr?A&sKWC>RNK1<90|{RR4j=kV%c(C?75dh# z?tMh1{ydp;7fs=+S83#?#wTs>Y?!oAZn&4a(-kQNux)2H-e1W&jOQl zM0M9nBE`zhUWJ7nh#SMwch2NwpC&sKgA_Af6Kl4pNtmhqE_u!@4)88ty0{h(1CdxL z2k`2WkPz7HuYU!q^#0(OAj2Z6XVFI{PlR#k{NgeJaGBWT zZqh1Vh>lJ>`LTI}RXL@(@DdR0OXU6!#ef29rJ`Rqf_oj6YP5I=F>7 zcCgu>jl<;vLuG`N19n5hxY9UjcPw;+G~;%UPMM$wWb>2Sq}r^w-RiB3Bnm)V08$Qu z_jz5y^BAI}jjHe-9Ufx}g-Io;|CPiz zIkD$8m_69+WV#AGb@)>^rXFPRes-y+}dMPtegM3cN8bzSubaD zo1`R_{C=bcqC{0MMLEIxd{l_otf|op&-4dWWkbhbc&H166@1hL7-Mw#R7)Po_ik}G zL>p?{<&O~bSv7JCMm);n!8$@WRuJa3+ian;IrtgJ5I`>8$Kj?ztn_CZz<>umb7o|mkVYb`w4U_hR#s8~v;<)tWPW5P(@^XO z+zX*r6YBOVy`1Fh>Te=URNyEptgG0X=jNh}7Qp)+!@PtItN3fR%mWS4``=Yp?;2?Q=3i~nS+Z|ViX%KPY zxz=N#B&h{GXgcBG6cT3pae%2%#BfIwqg1ZAG)PRyVCc=Yk_qfes*1`@W(XEDm;9 zfH*+RK%4;(^|t{#UHO8#KESaibQh%X`P3ezj_VZ}`J+3O47b10EMmd0gqnGAWXCal z@5RMKD*UI3T~ko>igF|}E}S1Gk9By#$-cLvP544KQf5M&1!$3GYaH#@p%E>W3aY?u zSuv^h**P*moOE=wSjOx)S=$PXxPe{fZsAsl?T={aV!q~zO))d;!2fP@9PG6wl1uJf zD}~t$nVb**4d^r8@k`*lt`xvYW(4~zZNZC_L5OS4A8*u=B-4`67GY4oqJ-N}o(0Rj zRGzbb6AymB|K}?{H1-DSwaH(?)|W|n_hd*62}oHIk(``sEA5B4oW1Q@ z-e!wH_j@@z+^pav4|m&4GTY&1&y{2=e&Mpu<_CQ(;RwH$OhFhglJ|g!_@uRIQZ2yP zuTa7%H!B80GWoPmtO$};D~?&@av+WDiI_eixWJ+{jq=HV+(HGv`S>Uy#R);vwH&7M z6zxRig3bv5gYlK>Ja&DF8fD~Tv|t?13S6*+->+{yIsI4y+~G)zwGrzISjB`E3FKdu z^>Yt((=#PaE%pr8(;OaUSI2vCjZcpKdyc{Kc8BFuvG;vZ`i~W ztcHH%L9vWxY$S$tTC;A^3%7IJABx9#Ia8IY0hne&jzrUEaoorJTaOy0seeI+pZi#I z&w0+~^5PpNwASZgsWR_;=}2_};|>Gz3#izbtYWWrzoU1Ejwur_=fi%na^S8!bWEVU z+oeY!s*1O17?i=2m7r5w9-=-#hD0T}+i`ke{bD*f#Lt_2c}qCSGrl}8y3tyPBcD_b zJymq6&#o)X24xH&*${8d*LrzDiV6;;2juU-Nmv~@#SOnKb5NL zIZJeIz8~d7ZF)(}{22Q*EjQvaAlIXYT98vSj6a_SZYsiz5DH>klB zK=vGr>0cjhrrLSXtMIghoYcZCc^p+jN6EH1Fy2nxI^W@jUdA|8vUxPGzVwB1;_6IU z8To&-8t%zrIVxP{7nPB&T(&x zZdOb=vkc>ZO`18vb0e7iXWoD`eQ1qvwuzwjdb61~Amt=@eHv5d*v7)%jkrEpB$FHPS< zOL6i`*fIiS&G8UUpLR(JOCPg0oRWrwwy zdZ2%~T@Oyiq!eH8+w>T@Mdb4~Q~9g#&Dbs8pHiE%TU;${2sen*f~>TM$|0=Qv|0t0^FHhBXJLj^3KF+ z3b3Uia81Cfu`fx$N5kdhITSGd!$ny1F+E+HsmUGWPp`y|Ep|6_@uBrsf?5ncLzQSz zs?af#bQ&<58nBAGE;buDl~qm$awTI}X9Hv-2fK!AW^%hG`uHSZb8q@d{|wE1tZc_n z)gU9f+qXRZmQ4hA^M9FfZIcFx=YVePg#6eRKQxTG%c84F;-QyCg} zVkx+V*dr|YtA|tW)eJ9Q=ke992qJmV8|v3la-R5+lw6psATC%;^G;pM;8kx@ryz(B z)d)>}Te#RjgC4z6EU5e}xkqvf$8Tb#l_Y8QZNL2N_zKkl_L5)L7psKY7(`CBb}JUC z{)A8nMiNwObd*KrY37nJOl6{q}}G@K`}fP`iSl!PT;^o453}4J?lNdm)Tz zikrj27_F6;i|ba$F45JUnr%d0Fn`O?wZTt}m6YQQlvSMB%A-m=YuO*-2#xss#T5xewr|H_olDl3+vw_Mk!@^Qq+!paW;eLR6GcFcfR=t;GJ z%`jZY=5L_YNSMjcv!vKmgETW}#&!wN7;k13@ieJn%A=E$AJdaYWGwtnQMMH7y3Bnp zL-7$xe{i$9u!DHB_o=3-;@23Akq~Iqwj|$x0Z{*5fW)pOb%fO#H_?T^oV?biTvNjN8jlLD4Q*LO`A5OT` zEpV#{Baa}FcT0zNlYUAUbtd5yKk=#%p&Pu^kU#}zDPK_(hy18$Zr*ui%Q=tcNK#@j zl4P*?Zp(ivWNcNby+e(+>XX_#JuT|;;zUjQ7^4cqyljMlWgPK}-<@U1*=0&}?A}lK zr1WYKFSGzEY`5!L`3Qlh_>Da0!%y(@L(JrOh;gz9HMND!Y-Y@-vvw6Xqwi_uu#y%K zrTXYI89n4H{28;nYoO_Um-!>QnBbhVZ+E*QE`IiK{gQ6Om7pn|yFyKRAYhy_T*z1c zC-5=9h_MSIObV>MPexbw&#Q)xUBmKTp84ky?6!~q zYC>2zJ#I$qk`^Hbt$?%S&0MUzIS;}g)}e5!#})hoJUy7{-{z0ty0H_cy`W1brydQP zKy`_%Y3I*K_XQZAo8f<`5#X9vL? zEdl;C5o*Xe3j5>e0XtVuxCD>oqEm1Mw(Jxv&+{f;#M--D3|*d(`$`YM<@Bq25*y{I zYf;2*wE_E=O2W#TU(nBY4Li#4r2hEtWkDX+yLXK8>)-X^NoavZO7bvz^5%?ZmVzvk zg-bkEmV60Nya*qu#wFiQSXYutB3hI8OlK(EI>y+CGHp|h4J9iTD7-?wT{DI5Qt6z; zbWf{4YdW}T#~XGN(!)VTytBdAe^niM74!a%+2VAx3+}Fb@u+b^#nrJr``l<74B;z8 z??004SgN0G@jOd zSar{ z|D6|~38G8~SgUau> zKKrcVk{5clN2JPm1$K>X(TYb41WHAG_b}~1sR3;gpWRP3+Wt^SeuF-a*v8VK30zys z(uHkn*Id&9=c6i_d&1xGAi`vw+W~t03ARGd3!&e6aA4@O<4n0Qlt*8G_T6YtG#R-x zA+4KkHr5W*(7D>o1v`}z?o?;{0tM*@p|Aoc8uhK|ZzqL62!bQh!yXlGrB86V=N;ey zmh1mG{xk-3DB+fIqn1*NGZcC98i7{g65Iz~@`Y*n*awMiXq049A(>>*zhF60l6r2A z2a&iHY#;Iyn2a;$z^?FIWm(J|Dc)~nSEZ$B$UNYwjIk_4RijSQFuH2I%cUH`IQfn} zviOFDUd6`nry8SzNuMr}6UFxC1Y45gAo)%tC}qGfG84SCj>$(XZZHd42)D+%>#ae2 zJpv3YUO!zb9S_IBTu6>18kktG$N#BG8cl^VwQFNK;Mr||>mW}=&$`gs{OrlHwN-VQK?sWRadWRG{l8) zG`t_|KpB>=$qXK#KlkCCHji2ioc~4SGeJzK9cfl2Cqi6DW+e+FV(gY73qe70n=Q30 zJ~2Nd)x4a=$nFmDC{?c70Oz}v9pK}dj2flhdp#ESIDKXH2G46^?U>}}m3%3$VVE11 zHNft^A#8ZH3Z?WrQo3L|=Qq?+k0?qpg7ig*VS`F#i(0uhXyD^_=QeLA4)#mhIx8(= zUtNsFcUf^?^T`D_Uylcxq5oLh3`z-vSHN{U;;?SF8SBwzLunhW17X93Q+^y+kN}xJ z2LS2a4|)&E-J}C%r+r4C7f;B9N8fe37AS&I0`L5~IWO~^r{)h%HnZuW^%)pr^eC^Q zQxG+XNSSt=xIvB6BP}*Kt9q19zWishaqP1BT;{QyGjKoE@c#lgK*+!Gj1WWAsZkcr zlu!xJBk%Ipjk-7*Btta#7IeYWOH4)+rRJFBFXSEjw%eb@_I;6;vtwrI?ev_tdc>D% zhkQmE^n2lQ==t#^L)JGZbOaNB@+N`k+LZ?fGyKk8k$JVW{A4X1_{N#82{R zY4Axgcro?kw&(55`paZ%bF4m4pJP_AINUdox{A^g7KMrj6vB1;^MRP)MEtxrbA_}& z@Us_2sVriVewBJN&Euw}8xklH`5LUG>J{UH{{G|cL|Z{bMn7U`T1FmT`;M7|lbHp7 zAUKzrJbm3i3!^?&UJxfgndQEWu~Hrov|Cgct6{re;LvQ}cHNb4L57A%ewx`-Km!C|pFT0oi$Lb$DA6!*>J z@(f&3CM-WtY36S~K<&h7fp_LV@)o#LD_B*zYM0Lys7nn6WWKAgPaqI) z+v#~~8Qz0O9)p;MzOdmR0(&&vZ0@4lSm6xLTPm`o>vb_b;^EO3kC+W|zXTP^UjAgG zgJi5o+_as6@Y{-D7j)6PG%$S?Sa>aZs*;mGb<>s=n(*92k1o|8a#_1Hl0~O}Iai%O z_$Zavdg5bI9ITItBM@opc2m+Oj>^32EAX)u(*uxsiJi@OWhH#>UCr=Q8k+`VvGRQ& z<)vy?7oa_(!m`;X_U1*m(Ls_COmFj-e5UW|KXq?)bzvk`mP^H!E&&0G;4u6^IDD|< z`-)hG>2?3({nH%Y06_Bwzk*(2&Z?-n9ogf(eskucr!8U0L>|WZXecZOJJ(4Bbn6?j zk?a9zIC@6I0H0Al0p|Q4n$wi!^>m7A7v8iF&pUxxc%c;8rg`>Pr$c$|Kz#Vt#<4#- z=yog8r^(XEwX5_GxM;(=nblY0fTPR$GI!|>TVU;97G}h8*1-?^RNGw?clVgvJbXGB z=;4I$*ySCcRzT`FX43%m&7H5}^{0u|C9%DA$G7&`iRciGNfS}f(G8cokbm_qKh!#! zrSKe$ai5J~hLp)$Y_OajY?7`{w!qdjaoCI6o+;B(x?sB*b5KHS^J_Qh_?g%zRbKUU2= z>U5;{r#-6eaTr!xOutjOo-O4aGz!Ci)9nQ?F!~1T^sCTF8hn0AL(#KD#TkU5wHeJW0!(+_E!%zj z=WTi9)I+oaNoV~SwUnle1z8uJv&YuFmQU+wI!4M2AH7_nA9c{|Sed8AmUl?#)8~%$QN}(dT3sg3{oN#?-XMar{_+&`JwcqqGnt)w_g5Ob8*&yM^DX z-ADJKj}|Jb+}q+RahO__!RWvC9zgH48L%l!4J!O8uE}9M0ky(EqTSE4Ms6=SCyvh9 zwAE|d|Dctk-jK?Ez6CrTv{P;OFx=h%Dm?+%itrcRa^bm$Y_`dDgt{-7&MGT6bfE7+ z-?m?I8$q1ISqy4Hh-%OF>2VMVxkrD+uUM99_bn{d(Wt^$A4YqM8M@?x=-cF-fWZK> z>6&veTs%hh8p!}0IX2C(^R+F<$9NaS??XSJu5tS4UjkH!?5~y>%xW0E3kznBMpRV5Davq@5oWfA`q zJ8+oSkS{knW@A&j|L}NtKM#;9B&nd+1wF3A9PQs~ka$RyAV*UNK1m0(Ha117O#n;X zg|%33%3I=CiwyoFod5k8Fy@v3H=wZ|BWW^OAo)P{`F_T{nA=i!l4-ClXM4xE{~CJa z#36;QAnWrkyd;9N{)toW)3jwH<5I;C^_Yoz93v8i?Q(p8YWl*?$yCT8P!HO5)c{z|8Ny z{f5RLN6aTcoXU~Z5^53bkQ+@g@2iP-1ILrda5@q43H4KS>dWmH{rmMAKBLW4B-erw=fBs z4*~&t0!7f(vY)~kcmLB!{8J-pKX(8Ffg0RiVq@Hwt%1YRdtwKg3L)(&_E4BLoj$)^ zWYw1_B{z^EpuPUb#YJ%8>Toq1bIQeSV@umW0QNL?t<$x46EhuLE$cLDKPG%M;X3z) zv)Pr`wTQ@XkRB0j`=x9yGz(Y`_tUt(7=mDcu%Fz$tIqF1listBL*c8rKgY*C~ z_Xrn+j;#nG=;IpZR_M*3&`(g5s&1j!{T|I|2Ip{&_YTsFo)oX|o4rg(iR8asU z$*HA9=M4TxsL$%!L~T{=bJONN_cz!zEj=P%BPc=%DasO^)e(}~yZze<>M^zQ(_b=X z*k;y^=V+;MdSN}&W!pF?8;+VLeoFXI z=-BiguyC8A3=E~JqBg5+{jedu{~9XtBy@GXt`?VwNo#9_Y5CM_kCt-JBv4>{ocU$E z{sLIJ{3`iLT#qVj|Ap(A&L;0ywqD^YJa(%M66{)Y;P=si=Ve^g7Nyk3`fwV|OG+F% z3~%z!0ggLw;l%sT8CX>(+Ij>F9BKV;-pi)A)FPssQl?OzB%6HnGujlg5N-1#js5zm z3IktDB@`lVl`eP}PsdLWGV^W#OR`Y|GQyRzG=@lH$lAqQs=JjL4hf~ zTBb}Ok1V{vp!H(s-#zNs_Dq)|R@5i67Fe5Rvp3m6bNU)Uv~RG`m(Nc2Tl1eVM~=y` zyt(Z5zMaP zb!dJ)A|rC@aLe%D&j?JYXs#`ZXEVQCfN2tMcxt&j-L__awf;&L)zx_9Im!Tw4|Q)Q zqZx2+(^G+j3piV7KIM589Dif_Sr4ua*^Xrvwo3#i%z; zQL6SMl5QoV4>x_@sAiuC)lU7cbjH?uD3rDpgY>d{J^oZx##|;U`|)33F^2O!AyhBDb)F{;Nv7*=6u2RF0nxpgy}5|>M5 z=FX(7gH9RET`M#aSZ#E$Y{37@#|#;( z?oSRBIM_18b8y!YytxFi3V{;=*tGZ!lFHEz9lKy`IL$dJd8A6YVYmw8*e-KIlR;); zL`{h}w(KOW0%+vJ^xD}t9=r0&FPJLEdEZe@9|#UVnNPgzOW}Mk5GJVeU%~{bn-BaD zofw$Fxd2?^?wu498{0Iz%#Ru7NsEiZWw81rEXB$V=D*u6^0gII2ADZd-ps5aE_N5& zTSXdt*My&(mg8yhEbd#CtsW82?1NZUHKyXwXb3`1Kqw9;EXMz}4Ws3>fCt-~zJLM8 zTXiRl#-`y}VxMt@V0X$-j?Q6z9I+YdHL$~KujV8MU|obD^V6o&D@p?LJY&tb5_O=< z)P`Y)Br%qa%;HX^#$I)fBcQC>5?fNLPwSzzppux4quo}I1|(YiU&u0eZ?_Hub))k4 z)+t_vWXVw_c#DkYy&DtyAqWsH&wA!5VzD}sIXl85o{<+zly%E2Bmi5?pfaM&=*Asu z9bYlaSwTr`XGXGAFgsU3MILN#vHt1*B0;jYrV22ZweHV?gyeniijWSUvN!*Xu30$7 zXBzGVjTW#EjZ9nU6|**&Zm##BXlHZpsuTt&$!UooK_G4rRD=y#)VzToK$|=7qggjR zHvsE|prCF#d`w<3z00|_>J@e&yMjU^OSuqv%z~AK4XgFJjQ%$6mFU>W#-#jXh%$~l zpC9SZO8<@ZW(*<(rE#36(?2=UlUY@e0y8xUaZ0rR!X8a{JymbUuz*S@GFVb1qc&O3 zwYFXrMnucG&j1n;>N?w&wYz|Q&<;VjaWMfj(PcRksn0_~O81;&yR<#BLh;2piiFTE zFRGk>W`)zmy|51!gR^1Wd=EF;5k&=DCsY`t8%@iQg26e_^iK5ocxVNIG_to>MC!*D zrA$TfXLnlQn3C+zJ~!1QaEVTKgo)6($j+8>=nh zs~e$8iH^0ScZA?ZK+v7PX3GDZg}JP0%N9xJv#0FGpba+O!RnTHSJlAeQl`KTb$>~x znD;k-P ztFmCSHizJW$1SWBE|1Ejd%Wxm?{&VI|FRX$KjCqXKP4xje}7q`eOP(Z3|?qU$-Q8L z3g$d%kuYGBp%tcZR(jW!q{6Yzg+;W?bhF2dIdmk7jPG9hs%LdpjLljQ85kQ674Sp= zU2V_=f)ln+7dTTZjBUfY%{z^xBSPPD%@o4YXk_(pONF54c2a7g?@>_JPVd3WVQcO_`)WQ+;RQ6AA;0H_z>-4B0J@`Uld*&5I@FjZGWrw^HW%^aR3pTP= zJw$U74$4-HBHbZ3Snsw;XzSNe*)VguYTxfvXsuihUHaClQ&Hix*^S}%Ph2)`^fSy< zn@hyX_S5tsiO5fK70q{~k$Ri_R)?27{Qqth&D_aXCq8MtdSb=Oc=kJ5@)sF-)orrZ zbHN&&HfRo_sq7nPy-MSvzkALq;3%=!&;XGYFFhr^CKl#-R0uXZm;g}s?gkJDyx3h5 zH&>@i=UrXbWUKkvPVk4K=${tt$pn*<8Z?&OP{@5si#u~nC)%)vqIvY&-Ne|y z>D5XU$B$Jjb-cT2QEBaNolvbF0oZF_@;{;S=V{1CSWFP}OCK9P|w z=GVY!Xv=n=XX#oQz9eM+A7w)fUqghfk@5NihOkI&rs&B2!kGd5W;CTzzx%MamTtIm&Bj z6+t+=MAV9f0W31DYG8Sz(WZjSX1%~Jj5Dt=_zR~Etu~G5^PP^a6p*-5$I>NC=P#ic zpwt{{y%|u%Ot^bEQ4#+KyZ_Vvl?!EAPKzVIJGTwMa79IJx;1(LN?{Ss+IoyHI`n`g zHZ_ZR%s4366Cq5?^tPdK0mM4uM!=T^->o*ynvSa*4w{Hu1Q+DljbYDCuScUva#wS- zckc_!Q>0*Dt=s)&zK&Z$zqP$q7EgV;OtaI>^!YP?jI^ZiGo3^3iqzECZfOIi%CBI(n#F?v+>fEg;js zf8R6*^#Rx{zesAXf0Ik|SXQd--cyNJM*wo0W1Zi>p*J{$5eki2w8;%9vU2b*p9HZ~ zcTvU@+I`$&UMD<-Hv~pVnXeh1U2oAwZ%)xBRITLbfUXqykP~+(Jf#VBl@#^~yxl;k z*7SGcJpeX%?AN{V&@9csD`H8^6ahP2JoTWL*&HQsTw_-jd{Io-gpBN=cn>hlMLxuG zDUmV#7V-m@Y!87vZ8!Z9oKVl=u|zAip>Hk8y~!qu4?lx<@?uPD8NOMQ;ztXYkeukt zZwG12X8LS&hdH3PZJeZ2aF(~lp}@Pv?jG?gVc+_42JDqw&>q_!m;e0jxN!Gb5Bi%cw$1C7*hP4UxWb(z0rII7OrP z2t*tOZsv{5pTynX<{M5AkA+3OHcYEd9rT5YD2we)t1rZ*9H1Le>^;^Emiz!? z7Gb_3O~kAPL^Hu_fyhTaG%OZ+5h22H3o0w9EHU9fROg%NL;4^A<(nR{liy)Fk|rHe zBH9K6-&}}Bm4l+0bI<^(9|l=4#^ocC=P9{g^Ley&5Pe8hyqjKQT<6SInvfJhyC|8Z zFH1Gvn~!3G=!Ot)_4{xC>CS;QBgbtoq}=RVPn1-?-+qPV(PX8BjG0Cn3$Bu35+>Do zfH1c)m`g`|o}0@;PuQ&Q22M7J45T18vFjZ#?}!u$V)I+d^4kn(Nsha9J_K(U+uwA1 zmGaW&dcPDA=Qe0?R*{am(3_z*GB}eABe&y!+!woq{*MZKLXL~aDUznqX^B zh}01?u&wOmzO!!Lx-@;eE!&7@&p-giV&O?qfjrce=!mDNt?=Llyovy>E{M#dkisty zhp$PG7^zNh~K$l{j>`laWC|$;#f}nDP>Anb??Eo}l;vuMK+sN+naEWC4T@^ey z(ee|Z>pMzl%SjA4=_aQ&qP6CXq3iz##!q|4OjoH5Rl~XGcS-aoF8}ynhTMTSfJLAk0Qs$c1-x zAcrR>!*-|ZxytRZxc|!6Iy0Lb;1mhzhD~^O*L^kBkcb&jT1vL?(Z{`X8}sycWLjw*k1kGjnk8+&6x=_EutFY`|z7(p4-RDkvI8M9{-K1vFzVWoMCkdx%)TB>z007>#9AM?=Ftq8->8EOg&=D7)-<=90ig5^+doN0;GvwClPy(+Y@0e*tuu+OMaxAfVymUn`&Y`em}C>9dD zzKd|dhjiT+*1E_9M04NVG3Rzjg=B1**Vln^7}-M5&>C0VdVr)9_*OyTHF5ZL4FmbQ z9*Usu?TH}QBzluFa)~9*kAztPcS?SWdS<37l{!#6UtuCP04@qFQ#a-@sGvbfNXw-X z*eL4Y5QG>46wdOGeXHT`ATTT8>@Pd+6drlrFyKA_+c%v&;gdA_bV*8xkRP(AfvQ0# zmLGwWvNnz?{qE&CIrdxJq!y>Dv$CunpwyabSw}qUUcY|kxXXy$pOR6T4B8uM@yWUs zu#sLL(HT2v#gj}xUYZR_x%)IF#8>Fg4a1*zPqIP01?JZkL&}azmUpQjxaS=9SgNb#lE7|-d6H5hPB|;7_uF$l;I6m{ zOkcAg^rr8CDNZE4gBQQmff%1;2S06E%EG_&^)knC z+ZG31HGEHB1H&-#M7?TxYMxaiJ{YJs8%ec8#fo#LU$2LJ7>)jy@Z`8WUL-X2bQh2)7&D);#DQnZ7Bw3UyD(eV#h2 z?Gv**p#2Z3nU=t$^E(p5v%HCE8)x>fECVtjqu8V9Z#}gLdM4noYvMWDw<5r7tq5l=$0l zMu@-OxF|=CeGX8`*TmDsy%+jQ;p+v_1jQTaK)TBsutPjLvmkv$;%?Q0+&r!f_4k+$!{%>DYF8ut+y1w}6s1y{-C70fU19-aI~=qEIvM7r~*UA@}&c z)ae=ax~cQqa?^Qj&lij)r?lyO!-e|+$R zi=d{yLRfI4Ak*^#am}^?&&FT*ucDUshc8<@kdEuc5;gzOq1O?PFF+;)Ad}nbfxAeZ zKwJ2JN??3^-!vcpFzrix^?X_Yq$F&MUaQ05BoZbQ!cood*`ixEywrJ+Y%+Q-km?vGjIG1~Wd-FKmBmCXEG8+F6rD`0XY0gyKQky7{8dRuS_8N*V6P-WL zD$uf3lIV8}jzUeR2Bemq0XT``J;URvV@&g@6O{LMzI#eF?^S$^mYf>TgeA` z<})Xs+flX1bG@JX#v_JLFG-JaH0Wd~qL|1~*vRBz&bE3Vo8kPm+v5L^M$l z6HQkk#qx%2k_r%zT5@l_{mc!1`#3p@@6`)CO;Zsij7kvIQAG0TN2!$Uum&iHbxUPL znyL8gu-PnhD`2o)Zp9t6qMH+xH6&)zcGR(Qv?kawf=+(CqH?(#Q}oIIbPn!rGX$#2 zR_2ugK!Q1euBlev>x3fau!{@ZKt!z7wl$e%@Iy_xG>DcGAtq7rOZxTYY_(Uc2-#U= z0JxShLps~rqf;r1r6)*uMIO_7x~^fe5Os%1CO?bPt~W(g!LL{52Tl`cuw1w545gxd z5S8~+tG9_U*Qd!SY=wrmH&Rv2&touG{(BLB*#Z~C2}i67n~N*pnRcjTtvUS8?C)_~ zI!Bs=XXSnvlNo?gUUaqg{h%6MCNlk7i}=hO^X~k*=bXbg`Eq%8OmEJ!C^anr-5&LzNv5=OQ-Zx-&%(`s9WZrJX9)0TeC&7!awF9~}gpW`_ zruJwEG1Wz?xX}HS4SVGLfmKfFED|ci4_jtm_!VQSX_IlY2^}W&alhJ5enw?{#?&oA zhg0@U1|PMqRVxK8Ps1MJ6U_Ge^-q!mO*s@#2HW8g>m^<7wz|4123P6Igg#ZU%~qAt zQ_lMG2)DCSSEKGmHwhTr(td63gr39h)q|^v)G4Z}sC(CS6)CT3jGH%G961K7BDn-i z3FcI><;L`$)6zbVuPmIaQlpJ#aD{WE2|SWJyH#x`Hqh)yyx}RkvEMW8S{R|6b4qE+_-_bWOQF{`~h1l5%&uEFiXB*&a8T&gdKFufHVH#aE;wuCFNM0F3AF%z~zj=GfwCJEUNekott)w6#N5N#uwhYEV| zz?Vuexb8DLGnKeCU2-9OPiWzE9aZ(RB?OFZ0dIed`|bQ)se+<4fN@4cQyWq3QgaIK4EbPpxjkS_!(e> zN2x02edFjVmNfiKs>xk^^}7fyw7Y#x04vpr@m6GK*`YY_+ZEbF&VRZ`mV#|rL|#Kb z;#gQrb!p+X%8(qqJbms~G_9?FWlI?LJAAvO-7|<*RKMSqYKR%Al}GBW9T{GnG&@fFqTehP+8yN@n|$` zkNq=>(_Y4)+y@rKp`gZ~PN`!*vcVny9i7r#>R@bmC2!wgha5v*lO28yAHDq|+0l;; zSA8<=V%y2b-RsChSbcs?rHEo;*{;X)N|p@IzRBlGZTdfu z1}&h1qr=a!|F?o#JmX|&wX|$9*XJvj=KP~0O=8B1)lB6vj(w=J(?2=kO>zGhUPllI zjfsaIi+$ay#bqBVY1%0WIM{G~gX}>(jv-o2k(d@)M?Pg{WCF;wP28WREXJJZ4-=VvR=Vw0YM(Qm* z<8OoLU=QXh%6v1@SWpGsOh$BGqcEL?a#^_yDfB}IUFj@G7f~iVQ1%H#{;3hJ)s`m+ zYyLnXyybbj|M93i{F^p$YL{5O?tl|O6y+)=KS7g?$twPXGmN^Yd1Z;{bW;lu#m>y!zb< z5=B{o)5)=!H+gsqa+mw#Ti;>2H9DfUml2UX#|ov&4NPkMMp`88`i#L%OuvH!egwe)2u>}rt^xa7qBKdp)u)`47-;M=?K=|+#Qp`H~wsnj~xvX zP2zJkq#K4-w@=(V<8+01Qp#iS0Sf6kH!^!J5<4Q-6OS*rI&_GUXs^tvgOj7$I&JNG zRx@u|c))yB^Rm9e$G3xJQ`))gX*u$;2-JfnDCi|q z3IYDIvl*e+TzYcihHG@3$?mekeS%RzZ)Ma(mj+8;y%DStgi2vW0eA*ID)sD?xoRab zB+qrCUOZ&n05m z`6(yGctfo7KVE7(5ctjD^+X%vRvtuj|2rYmC9x+ZZ&L6M0w0c5v3LV)-Yss!Boe&| z>7flt<+*NeYSVw{BZ$F=UM((X^83OlwUcaEky=e6HB;@HJYZYJa#<*0J_pAdnF7 zX}4q#eDQAYITC4pm(@n=5fUFg#QeUV|5QTtdyIiVpvQ`Vo*MnuH2XtJOc_%^)mLCm z+j2pQuCJt*IVEUg)yChXh0bemT}E{{hr5>h!SfF@xfa6sf(Y`_#$f$vUTe>70xkxp6qYXewUgXk8VpCC z$#n|Az(*|*{aR13hcsmMKD4CM@f!GpL7&X72=UNe<_N>pa;+caH=Ah4^4EqE3(XN9 zSiQQ}o}g@D(kzZ9NPBL5r;REY1BLpY=wuJk0=7TM z5BcA6S!W=pQ6SRw^VMch41(~7BC1d^)BGEdv0Pkk>#H^#b` za&PDy&(mYXZ&k4zGt@clHyQcctk;#%QVkqR+;~v_7GbNhUKUWhDL#$8kv(p}>|e20 z4k&~96<2_O)(lz1O#~#*DV|0WfC<*@u;aOXFgauE$LBmKzX=c8E-iMc%cq|tdlWmK zOLt~L1)vr>|D2ue4QWpfr<)v|+)XKNO9i%!WriPz=TEAY{kj<<$GqoX<04Wi3 ze|_rwLzfrfxLc0IgQB)XI1R;>U9*z#`-a&dLPU4+HPi#?p;*YC^$LOwD5~&H#`z|1 zU9*pj(v^m+TZbiQbaX)JDBShBlgwD|njKdbYY@ zWQ(}xeAdmSW{c}<{SZ_Na{%Ta+WW4XQbr2;d#56ZcnFcjbFJ^mWNtW?K#c91W5Dwh zJ_3i!iW|)xbdV9zrwk)QMhSwiO(tX_6292Jc&RqaV{vT;xs`<@E*?&*??_`+Ygz$IiIQ$k5gE!-Zt&F8bt)DYloAztFxEwp{FQp=uT{s*QcW*m} zp4fTt2wf6V543scW}8a>3ypCiuc}Oa48shp43ZS+hJg)%(;Q-!#?uvIJ6Faia&wW% zU`BiP-<>KsvQNobA_8;wR!8BBUG^O~!->cS3!v1^Kzt~0w_!qztx&_G z)@}d=@xd!aVvjjy%G#WYElznJ-OLrIn{)wHu1ab8sP;Sg{bJRKU#{qZu>*;I%oq-z zSYKOBHDRFB@1l`3F6CndYnrY-?V5BI)$M70fN1Ur?uiEGr0!yY-^78SIz9HsAedsK z5)51p-4}Ik=93y<{!&NewE3msHey_TMpaAb5qp27K`4-K@Alr&XdFfDL_d0NjK-&d z*px5l!O^J2k=mL^d^DhdZu@Qmi+M59m$1g0j5U4PVmKn=x!V5MrX^cWjb6JzP)%+DJc1lmrn-p6D~OUUv%!}}o(ArSt+@{{s$ ze&#czg7*>WwL8Q@D835^YhqNh3pzx*CTP&PsE$iq(E?&$H>Y?uPQMZ~TpmVZ-~f3( zHJm=+30JK5)Kra8=ewbanhJphg;@XDDjNr6A>A?%T%+s*l=0}@=Q^VKmVW@1Q;M88 zJ3+!2YBB3OG@;E1^zs(2|La&eT27I^ADcicl<(2Axj;U4u>Gc@iC5Y&d z{yU3DHoU1jy_4uDGg_O=^iri;aSk4g~qk#Ldj2!)_7C#RsRw)Z~ zeJKFGcGdcw7_DJ;WyLuCdNwD6QnCpseT{RpDMYv0(=hLIQOGM3z3~&G-AG0J5t|`{ zYQ$))B0*}F(?l?l=Zt%$IG?>wCgyvD@W=X8yGyoPBMt!N6p zgt*p*d}-|~#e*6Vbg@QL?d=duD82vILG3ZnrKG+`da8}GKZiKu&Mq7ppdL4>zxHx! zdF#_?ZXNMkIgrs-|B@NWa#r;k&PPUog)4`{YdQM#IV7Ynb6bZ4JMp7gx!;Quhi~F! zIvOWDWq&%zJS7%|_Tf9OmAthcG&*zzE^ldaLXiUE-hl1;O%P9q8K(-KfNX(qj0_wf zgX?X>e`+e7%p?0Td&iyyLW$Un7nIoTrb`}X7_}FESbA2WtvAI9BxgT6a-{|7z&!Y1 zIe-`nVG4}&2hKHv8hq;(#p%y$pQH?h>#|A)_5t44HF8(vdGL=Nv!bn)S*8qaI*ph8 zeiJj-#9Iuxq|uV?5ZE0PI+SByH;&RVF}05G)Q1(;-+(U%P3hP7hdq!=fKe`+rv=Vz zg8~Z#IkrSL?V+%#s)^v~&x{E5$B>)!4k$;Gfl#cKThO#)8;NYf^dM(Dt1xB59>G_f z6ryA8`>L?v@dX5diX@)FR$F}zclwoXpG{r!O;p&iagNsqfWi?xyra@< z6g7Gl`IfLg&f`JAp;U{_v#;d3TS<2DA}OG$YzVS9P&mF2CJ~I}O*rK{A4X?Vr@T}k ze3tIG+#i>-cnq8xd1RJ1evN_wVDXumBr&;|hkd2{K5;fO3=d85`sju`-j0ojn(Knt zrw==d{46276-&L&!)bTu_}{M15ocCaHj5PF%%9y2y`N|DBU>HcI8hvc0i-3pakHn9 z&|2OnrYanlKOBwDycN=)kH)#NXAPC|6Cn`2yIyfALUkP8qgOM~ocrK$J_Q=$$zb}q znKlNc>+TL+0j8lDugi6PChAsTOg0jSSnPU+3@T#|YXDyW@WfJzL};#W(P?3&0zZ?` zl;_xP7OWvL*JKhZiHS+w_4hO()be+q1~=FD)E9N4P^RKIkMqO##v8kTp7U&gO{r+2 zQwGKgA9>;N8_M26as#%&`3AD0HnYqy$EO6EJd-0HzzB{@6^FVDwi4VE>%rJWN?tbV z?v0P1tikH8@~rM1toZsf_ICY6U|s%ky_FAZid2Q7tYW**E(icsv1kc2Kn{S-xm-vg zkO(>22@i6c=Dw^P1R{fEdACw}7lGSt!s9kvxMWp}i-uj|Vo5|Bh(eF;3OWu0CLg36 ziKw=-9`p3b2$=Bhdn;=#+aQ-kJ1D=;QuO|D7~h>udKOUj$vu@=hE(HV6e{Q@?C}Cr zuwA#KfJOYvC925Rc)D4m?JCOwoR(ED2<|KUMCyA%e{E9=wBDHL(4dnvDd%-Egr#a+>&MT?IPe3$ni>^gzQP5YUWP>+GeHxX2>`vWAfLb) z!FrglI7X{B%XRTB1VdEw|5*9t`CD+QKwcrxlVqt$QTfsIIBIe+_y6} zW2m|t3mNyMwKfMME?68(v1{Yqw+_v0aCLo-d$w-+N7T7UFg56{IuWwM9R5(=;&FaM zmCJz`fIuwe?s&~lA%Z&qm65qh7RMA1NOgZ$2C83kL#bfqVF7$M9B|hxU`*Eh@%}av zwE(t4usvJ>*F{y)MJ)wE+8ohLBn#mf5y~L_!Rj3b5PJ{Z74sn8t#7qWDI3^bZDcfR zb;V`#OmyOlmn#B3-mp8t#m7`FvmH9d{EfPPp+qs` zC&S=Ck*ZA1yu}>}tREVaV=V2`r3Wy#Dqc|AQkt)pr#LiQ0H!aO^Kkv=Vz7tV^Z|vP z2T)Vn*2hB)9qGMD7eYuVp-AsVdKWN+8oIR5oAlm$Q2{|gK!|iyKvY5tf(Qaq6a=ZF zC`Iso@%r8S`PsB_Znx%~FT<1#N3T*MRZe0Kx>Da*~=lO43(Aq7hL5ISuv^}zt zm~emeP8b&vgz4jbYOO;zm&4shTi9Z5+E0qJe3W@mraqWy^Fas8&}9qHkJ@L~Z}XT7 zqROX0GXnKMd6<#N&?Q(kd6`u-c8u+{Cc@QIx7J{Z021gmI~Xa4K>>_f;^H}d4$=bz z9aVKjg4_47MKg@~a(rsuK#nDbk*LV1HhxY8;kr<@cZf(BgABh4@~uV0bp=Jbb8MVD zBo5jIZ*FL93e2+rjZ~A&6+neT?n23LS?T!VjDu|Tt3tURw#br25i`blg69?5%b=gQ z*r1ZFM#YWQ5pTlyolan)0`z5Mv9Uz6I^$|1xt{z}6-Ii>W%qmywzfDMpX_e&Rs~Nj ziG6unQdt9)j4*zr)0>Y{k37Ge#VSt{oBTxUE{S40Bz>Yu;l`7?&HF4n`m9a~XVnPMzH7>U6AhBAV|*~B54URf)F@x_Ye^&gcY9ypTCmB0f> z72e-62ea1L)!TSAT=k-XGl^GOFPKMY?Rw9E=*`TL75ifiO=6oKlgJj4PvD4WwtZny zWUhM?RphRrYjYtHNqwnmS75^pFSy3W=Qi*TUf&?<;EPlLi>yjAeA2t8wC?yKWqTyW zAs!|cu8-K9I(;>_=-O+YcDNEd@Ni>WeITsAd5Hf}9f1w?baqdg!oob7+*_ZGNWZvf zxmp7)@942xfAo0I!n)ZygP-W4!F~*P>xf_G{8Ex)8FkQx3~iNl~f71&K#Os_Fc? zvd2s9uD3lpdRd}nOzJB6)H#j5k?G2)Pr}W!7PwM6Rt}QtLVT#^^YN2-1MNKoZ&P>R z7aM~*wZdy%rBpa(Hk#g@-emGkjdh}z1+3I>d{eZPTc+oF8KIREr?ygFNSi&QHru(I zc>PiRO_6wDbj@w(c~z40QW88oIx0B<_Npvu<|x|U^KN9Z5DHc1I7l4SF%Q7v!jmkJ z)2oT#1ludW<}^+U5QVhN&3xmpprA7$i3zYO_yT;%KurCCbZ@s-P#I#o7tXMnIoOb=*@@ts0ld597NH+i0^Cp)gEMS;cU#>4T&p^_eBi3A7tF^!J{M2+IaFRYg<+Pmkgz_a zypmXKAo12(7D!rV>Igty)NF$oHr^A^Mkrg3^fEZG_4$^_Thi6F=+eIo7~D-Z{gya6 zw{mD3Il{jlN;%Tpu5SN^tTBDlBWjYCii`Bo`MXt_>tI{s3b$<;)1IxnkNg_B()P1m z!aLZC1B7ZRPN}v@eRnl<^T`Q6#)NPC)cqr!U-zJZv+*N6I8If zzt4YGCQr|^Gn|9aC+r?EXypsUsOP{W@%*0Ivz6XRtGT8_qTwArTO^Bey%=-ta2HKi z6G|bn!p$j&TN18tg(6y}4J(<) zCbLC^FQb&s6PMS&jWX-+hw&x%^KHn%uDBT9@+QvB?J3gRR$w3SFk-m!!$MG)2EgXwObx#NS&E#TzW@lppX~_T%|QK}5U9 zw}Y4$JzJuIQ?qET>hgq8@8zhaTkNW{RO4@?Q@a{Ix|5ZXR{_2ffn$`_&6=xVl%tkU%}0t2l`AM4J8i^nfg ztvAw5#|C`Wuqo8^(VMRI(XDE~wY>V=dJDs-@;EO>8BAuOhfl2IhqjVqd)4j>C z55-lA@4A(xyK3UUGDeP|l3%Z1ygdXJ&Z2|FtE!f!@3gm1Dq!1fuu*tt2dJcQ7zv`;JD4yX3(ha2+dx|L0sXlo z^?&W4Q(~b2OQojCxWAe-4mx}f`M7#}#S~8e7k zMKNv(m3muS>8gS`!DcFlcU4&?uC{&QM&?_4(U7c;#BxUE3UxE&^n9iq<5M4)KY8Pc~bk?w!Z= zMSIco)_qhB1MI*RW-ZH0r5(7vR@)jK$fnb<I1(>S7AiV9Y!A@ZfkvuD z?p)f{s(@e-@C$vZUZx5&9CSmDE?x`_{n=!X{M)q{-!{%nv zYgN=lBqraQi6lu|xKdwF7jGju@=;)H?L4*Bgd00NS2Zvqf1VWf0-Z+Dl{f3nYLf`+ zfA`#Vy476*J$xrdg-_GdIWiD6>wj(LRIGK)+Swr+yYIwW90qr%2;sQ$`n4~+UH%oU zxz~#N9q^S60T(03=W5%+REg$c)gFV}tKP5iki-S=2vUu$_N-ivyh^-Xw=gaIB*V$Nf zSFIn{@AIy3npJw1>yUHcMc6vn*q*LXDTV9`JT$!+exwRpjb~8Z6s)zLUewEM?-?WY z0>|^8{MY=sF#Q0Yj4R+LaK`!@fd~7Ccn2W=ok8RuTwG`n_V!EmMORP)@7}L;&Q(Xt zlX6?wFF6h3DtfZUkx4P3A*`-GI9W_r6qAO<7-BDtX;0~4^++iZ&h`b4FEA5|?`bxc z?}Ux5g?}I|hotAOJ(e0fs*pX(NSy#*1raU-d@Nu| zD9r>UcR2}+0$2Ov;nNe)<2?V7tSV<|NnhXr07bZD1q4vyjspO=pMdI^@86spuY!ZU zJk8BW0R%jFAouU~-vqiG|7sNO6l$EJu$>{`>t4+J!sv2P)F(&+gLikO`mSz=t^d2mJj~t7Cj|A^0Wu zD#8!p^*`glyT%Me@&f=zLElHkk4XLiqk+E$gZ+_+tIod(!;j|d!H(@VwK6WaIAcBo zwH5sh)cLz`|KWa}-7@88KkK}HgZ#dM${&blo7x{lTy$|Ey*%(6;*S>hm&{*vr9XSQ z{X6F0J?bx!zpBfAc2jZa*KYn)rTu|>Hl6;=T^#u}7yNf}{R8r>!u)*oT;sn%{=eRw zff5maAAl6N&n9ltyvLmi253l{8XLKaNl0p08ma~PNjPg7NQqdQxT<)nYx+XmgJ3#N Qy4o&&)^4HNQZfqv2L@3o*Z=?k literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.runs/synth_1/project_reti_logiche.tcl b/progetto_reti_logiche.runs/synth_1/project_reti_logiche.tcl new file mode 100644 index 0000000..88a3b36 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/project_reti_logiche.tcl @@ -0,0 +1,107 @@ +# +# Synthesis run script generated by Vivado +# + +set TIME_start [clock seconds] +namespace eval ::optrace { + variable script "/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.runs/synth_1/project_reti_logiche.tcl" + variable category "vivado_synth" +} + +# Try to connect to running dispatch if we haven't done so already. +# This code assumes that the Tcl interpreter is not using threads, +# since the ::dispatch::connected variable isn't mutex protected. +if {![info exists ::dispatch::connected]} { + namespace eval ::dispatch { + variable connected false + if {[llength [array get env XILINX_CD_CONNECT_ID]] > 0} { + set result "true" + if {[catch { + if {[lsearch -exact [package names] DispatchTcl] < 0} { + set result [load librdi_cd_clienttcl[info sharedlibextension]] + } + if {$result eq "false"} { + puts "WARNING: Could not load dispatch client library" + } + set connect_id [ ::dispatch::init_client -mode EXISTING_SERVER ] + if { $connect_id eq "" } { + puts "WARNING: Could not initialize dispatch client" + } else { + puts "INFO: Dispatch client connection id - $connect_id" + set connected true + } + } catch_res]} { + puts "WARNING: failed to connect to dispatch server - $catch_res" + } + } + } +} +if {$::dispatch::connected} { + # Remove the dummy proc if it exists. + if { [expr {[llength [info procs ::OPTRACE]] > 0}] } { + rename ::OPTRACE "" + } + proc ::OPTRACE { task action {tags {} } } { + ::vitis_log::op_trace "$task" $action -tags $tags -script $::optrace::script -category $::optrace::category + } + # dispatch is generic. We specifically want to attach logging. + ::vitis_log::connect_client +} else { + # Add dummy proc if it doesn't exist. + if { [expr {[llength [info procs ::OPTRACE]] == 0}] } { + proc ::OPTRACE {{arg1 \"\" } {arg2 \"\"} {arg3 \"\" } {arg4 \"\"} {arg5 \"\" } {arg6 \"\"}} { + # Do nothing + } + } +} + +OPTRACE "synth_1" START { ROLLUP_AUTO } +set_param general.usePosixSpawnForFork 1 +OPTRACE "Creating in-memory project" START { } +create_project -in_memory -part xc7a200tfbg484-1 + +set_param project.singleFileAddWarning.threshold 0 +set_param project.compositeFile.enableAutoGeneration 0 +set_param synth.vivado.isSynthRun true +set_property webtalk.parent_dir /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.cache/wt [current_project] +set_property parent.project_path /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.xpr [current_project] +set_property default_lib xil_defaultlib [current_project] +set_property target_language Verilog [current_project] +set_property ip_output_repo /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.cache/ip [current_project] +set_property ip_cache_permissions {read write} [current_project] +OPTRACE "Creating in-memory project" END { } +OPTRACE "Adding files" START { } +read_vhdl -library xil_defaultlib /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sources_1/new/progetto_reti_logiche.vhd +OPTRACE "Adding files" END { } +# 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 + +read_checkpoint -auto_incremental -incremental /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/utils_1/imports/synth_1/project_reti_logiche.dcp +close [open __synthesis_is_running__ w] + +OPTRACE "synth_design" START { } +synth_design -top project_reti_logiche -part xc7a200tfbg484-1 +OPTRACE "synth_design" END { } +if { [get_msg_config -count -severity {CRITICAL WARNING}] > 0 } { + send_msg_id runtcl-6 info "Synthesis results are not added to the cache due to CRITICAL_WARNING" +} + + +OPTRACE "write_checkpoint" START { CHECKPOINT } +# disable binary constraint mode for synth run checkpoints +set_param constraints.enableBinaryConstraints false +write_checkpoint -force -noxdef project_reti_logiche.dcp +OPTRACE "write_checkpoint" END { } +OPTRACE "synth reports" START { REPORT } +generate_parallel_reports -reports { "report_utilization -file project_reti_logiche_utilization_synth.rpt -pb project_reti_logiche_utilization_synth.pb" } +OPTRACE "synth reports" END { } +file delete __synthesis_is_running__ +close [open __synthesis_is_complete__ w] +OPTRACE "synth_1" END { } diff --git a/progetto_reti_logiche.runs/synth_1/project_reti_logiche.vds b/progetto_reti_logiche.runs/synth_1/project_reti_logiche.vds new file mode 100644 index 0000000..b83d504 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/project_reti_logiche.vds @@ -0,0 +1,257 @@ +#----------------------------------------------------------- +# Vivado v2025.2 (64-bit) +# SW Build 6299465 on Fri Nov 14 12:34:56 MST 2025 +# IP Build 6300035 on Fri Nov 14 10:48:45 MST 2025 +# SharedData Build 6298862 on Thu Nov 13 04:50:51 MST 2025 +# Start of session at: Fri Jun 12 14:52:36 2026 +# Process ID : 33507 +# Current directory : /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.runs/synth_1 +# Command line : vivado -log project_reti_logiche.vds -product Vivado -mode batch -messageDb vivado.pb -notrace -source project_reti_logiche.tcl +# Log file : /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.runs/synth_1/project_reti_logiche.vds +# Journal file : /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.runs/synth_1/vivado.jou +# Running On : cachyos-x8664 +# Platform : cachyos +# Operating System : CachyOS +# Processor Detail : 12th Gen Intel(R) Core(TM) i7-12700F +# CPU Frequency : 4313.234 MHz +# CPU Physical cores : 12 +# CPU Logical cores : 20 +# Host memory : 16502 MB +# Swap memory : 16501 MB +# Total Virtual : 33003 MB +# Available Virtual : 19387 MB +#----------------------------------------------------------- +source project_reti_logiche.tcl -notrace +Command: read_checkpoint -auto_incremental -incremental /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/utils_1/imports/synth_1/project_reti_logiche.dcp +INFO: [Vivado 12-5825] Read reference checkpoint from /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/utils_1/imports/synth_1/project_reti_logiche.dcp for incremental synthesis +INFO: [Vivado 12-7989] Please ensure there are no constraint changes +Command: synth_design -top project_reti_logiche -part xc7a200tfbg484-1 +Starting synth_design +Attempting to get a license for feature 'Synthesis' and/or device 'xc7a200t' +INFO: [Common 17-349] Got license for feature 'Synthesis' and/or device 'xc7a200t' +INFO: [Designutils 20-5440] No compile time benefit to using incremental synthesis; A full resynthesis will be run +INFO: [Designutils 20-4379] Flow is switching to default flow due to incremental criteria not met. If you would like to alter this behaviour and have the flow terminate instead, please set the following parameter config_implementation {autoIncr.Synth.RejectBehavior Terminate} +INFO: [Synth 8-7079] Multithreading enabled for synth_design using a maximum of 7 processes. +INFO: [Synth 8-7078] Launching helper process for spawning children vivado processes +INFO: [Synth 8-7075] Helper process launched with PID 33546 +--------------------------------------------------------------------------------- +Starting Synthesize : Time (s): cpu = 00:00:02 ; elapsed = 00:00:03 . Memory (MB): peak = 2025.719 ; gain = 449.828 ; free physical = 1656 ; free virtual = 17391 +--------------------------------------------------------------------------------- +INFO: [Synth 8-638] synthesizing module 'project_reti_logiche' [/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sources_1/new/progetto_reti_logiche.vhd:51] +INFO: [Synth 8-226] default block is never used [/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sources_1/new/progetto_reti_logiche.vhd:151] +INFO: [Synth 8-256] done synthesizing module 'project_reti_logiche' (0#1) [/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sources_1/new/progetto_reti_logiche.vhd:51] +--------------------------------------------------------------------------------- +Finished Synthesize : Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 2111.688 ; gain = 535.797 ; free physical = 1586 ; free virtual = 17326 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Constraint Validation : Time (s): cpu = 00:00:04 ; elapsed = 00:00:04 . Memory (MB): peak = 2126.531 ; gain = 550.641 ; free physical = 1570 ; free virtual = 17310 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Loading Part and Timing Information +--------------------------------------------------------------------------------- +Loading part: xc7a200tfbg484-1 +INFO: [Device 21-403] Loading part xc7a200tfbg484-1 +--------------------------------------------------------------------------------- +Finished Loading Part and Timing Information : Time (s): cpu = 00:00:04 ; elapsed = 00:00:04 . Memory (MB): peak = 2126.531 ; gain = 550.641 ; free physical = 1570 ; free virtual = 17310 +--------------------------------------------------------------------------------- +INFO: [Synth 8-802] inferred FSM for state register 'state_reg' in module 'project_reti_logiche' +--------------------------------------------------------------------------------------------------- + State | New Encoding | Previous Encoding +--------------------------------------------------------------------------------------------------- + s_reset | 000000000000000000000001 | 00001 + s_done | 000000000000000000000010 | 00010 + s_idle | 000000000000000000000100 | 00000 + s_00_read | 000000000000000000001000 | 00011 + s_00_wait | 000000000000000000010000 | 00100 + s_00_check | 000000000000000000100000 | 00101 + s_00_go_next | 000000000000000001000000 | 00110 + s_01_check_number | 000000000000000010000000 | 00111 + s_01_wait | 000000000000000100000000 | 01000 + s_01_write | 000000000000001000000000 | 01001 + s_01_check_end | 000000000000010000000000 | 01010 + s_01_wait_for_count | 000000000000100000000000 | 01101 + s_01_copy | 000000000001000000000000 | 01011 + s_01_go_next | 000000000010000000000000 | 01100 + s_10_place_at_start | 000000000100000000000000 | 01110 + s_10_wait_for_check | 000000001000000000000000 | 01111 + s_10_check_id | 000000010000000000000000 | 10000 + s_10_wait | 000000100000000000000000 | 10001 + s_10_compare | 000001000000000000000000 | 10010 + s_10_update_count | 000010000000000000000000 | 10100 + s_10_wait_for_count | 000100000000000000000000 | 10101 + s_10_go_next | 001000000000000000000000 | 10011 + s_11_update_count | 010000000000000000000000 | 10110 + s_11_wait_for_count | 100000000000000000000000 | 10111 +--------------------------------------------------------------------------------------------------- +INFO: [Synth 8-3354] encoded FSM with state register 'state_reg' using encoding 'one-hot' in module 'project_reti_logiche' +--------------------------------------------------------------------------------- +Finished RTL Optimization Phase 2 : Time (s): cpu = 00:00:04 ; elapsed = 00:00:04 . Memory (MB): peak = 2142.547 ; gain = 566.656 ; free physical = 1579 ; free virtual = 17303 +--------------------------------------------------------------------------------- +No constraint files found. +--------------------------------------------------------------------------------- +Start RTL Component Statistics +--------------------------------------------------------------------------------- +Detailed RTL Component Info : ++---Adders : + 2 Input 16 Bit Adders := 4 + 2 Input 9 Bit Adders := 1 + 2 Input 8 Bit Adders := 3 ++---Registers : + 16 Bit Registers := 1 + 8 Bit Registers := 2 + 6 Bit Registers := 2 + 1 Bit Registers := 3 ++---Muxes : + 24 Input 24 Bit Muxes := 1 + 4 Input 24 Bit Muxes := 1 + 2 Input 24 Bit Muxes := 7 + 2 Input 16 Bit Muxes := 3 + 24 Input 16 Bit Muxes := 1 + 2 Input 8 Bit Muxes := 4 + 24 Input 8 Bit Muxes := 2 + 2 Input 6 Bit Muxes := 1 + 24 Input 6 Bit Muxes := 2 + 2 Input 1 Bit Muxes := 1 + 24 Input 1 Bit Muxes := 6 +--------------------------------------------------------------------------------- +Finished RTL Component Statistics +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Part Resource Summary +--------------------------------------------------------------------------------- +Part Resources: +DSPs: 740 (col length:100) +BRAMs: 730 (col length: RAMB18 100 RAMB36 50) +--------------------------------------------------------------------------------- +Finished Part Resource Summary +--------------------------------------------------------------------------------- +No constraint files found. +--------------------------------------------------------------------------------- +Start Cross Boundary and Area Optimization +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Cross Boundary and Area Optimization : Time (s): cpu = 00:00:07 ; elapsed = 00:00:07 . Memory (MB): peak = 2329.445 ; gain = 753.555 ; free physical = 1430 ; free virtual = 17108 +--------------------------------------------------------------------------------- +No constraint files found. +--------------------------------------------------------------------------------- +Start Timing Optimization +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Timing Optimization : Time (s): cpu = 00:00:07 ; elapsed = 00:00:07 . Memory (MB): peak = 2335.383 ; gain = 759.492 ; free physical = 1435 ; free virtual = 17103 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Technology Mapping +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Technology Mapping : Time (s): cpu = 00:00:07 ; elapsed = 00:00:07 . Memory (MB): peak = 2343.391 ; gain = 767.500 ; free physical = 1433 ; free virtual = 17097 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +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 = 2486.203 ; gain = 910.312 ; free physical = 1673 ; free virtual = 17328 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Renaming Generated Instances +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Instances : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1673 ; free virtual = 17327 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Rebuilding User Hierarchy +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Rebuilding User Hierarchy : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1674 ; free virtual = 17327 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Renaming Generated Ports +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Ports : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1673 ; free virtual = 17326 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Handling Custom Attributes +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Handling Custom Attributes : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1674 ; free virtual = 17326 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Renaming Generated Nets +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Nets : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1675 ; free virtual = 17326 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Writing Synthesis Report +--------------------------------------------------------------------------------- + +Report BlackBoxes: ++-+--------------+----------+ +| |BlackBox name |Instances | ++-+--------------+----------+ ++-+--------------+----------+ + +Report Cell Usage: ++------+-------+------+ +| |Cell |Count | ++------+-------+------+ +|1 |BUFG | 1| +|2 |CARRY4 | 18| +|3 |LUT1 | 34| +|4 |LUT2 | 16| +|5 |LUT3 | 25| +|6 |LUT4 | 44| +|7 |LUT5 | 22| +|8 |LUT6 | 78| +|9 |FDCE | 25| +|10 |FDPE | 2| +|11 |FDRE | 44| +|12 |IBUF | 21| +|13 |OBUF | 33| ++------+-------+------+ + +Report Instance Areas: ++------+---------+-------+------+ +| |Instance |Module |Cells | ++------+---------+-------+------+ +|1 |top | | 363| ++------+---------+-------+------+ +--------------------------------------------------------------------------------- +Finished Writing Synthesis Report : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1675 ; free virtual = 17325 +--------------------------------------------------------------------------------- +Synthesis finished with 0 errors, 0 critical warnings and 0 warnings. +Synthesis Optimization Runtime : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1677 ; free virtual = 17323 +Synthesis Optimization Complete : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.211 ; gain = 910.312 ; free physical = 1669 ; free virtual = 17315 +INFO: [Project 1-571] Translating synthesized netlist +Netlist sorting complete. Time (s): cpu = 00:00:00.01 ; elapsed = 00:00:00.01 . Memory (MB): peak = 2500.078 ; gain = 0.000 ; free physical = 1831 ; free virtual = 17463 +INFO: [Netlist 29-17] Analyzing 18 Unisim elements for replacement +INFO: [Netlist 29-28] Unisim Transformation completed in 1 CPU seconds +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 = 2645.660 ; gain = 0.000 ; free physical = 1835 ; free virtual = 17379 +INFO: [Project 1-111] Unisim Transformation Summary: +No Unisim elements were transformed. + +Synth Design complete | Checksum: 3d7ece1d +INFO: [Common 17-83] Releasing license: Synthesis +21 Infos, 0 Warnings, 0 Critical Warnings and 0 Errors encountered. +synth_design completed successfully +synth_design: Time (s): cpu = 00:00:13 ; elapsed = 00:00:12 . Memory (MB): peak = 2645.695 ; gain = 1069.805 ; free physical = 1881 ; free virtual = 17374 +INFO: [Common 17-2834] synth_design peak Physical Memory [PSS] (MB): overall = 1976.781; main = 1976.781; forked = 0.000 +INFO: [Common 17-2834] synth_design peak Virtual Memory [VSS] (MB): overall = 2645.664; main = 2645.664; forked = 0.000 +Write ShapeDB Complete: Time (s): cpu = 00:00:00.01 ; elapsed = 00:00:00 . Memory (MB): peak = 2669.672 ; gain = 0.000 ; free physical = 1881 ; free virtual = 17374 +INFO: [Common 17-1381] The checkpoint '/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.runs/synth_1/project_reti_logiche.dcp' has been generated. +INFO: [Vivado 12-24828] Executing command : report_utilization -file project_reti_logiche_utilization_synth.rpt -pb project_reti_logiche_utilization_synth.pb +INFO: [Common 17-206] Exiting Vivado at Fri Jun 12 14:52:50 2026... diff --git a/progetto_reti_logiche.runs/synth_1/project_reti_logiche_utilization_synth.pb b/progetto_reti_logiche.runs/synth_1/project_reti_logiche_utilization_synth.pb new file mode 100644 index 0000000000000000000000000000000000000000..0ffdde379965b8962e2fdf6b14780cc2887b9ab0 GIT binary patch literal 276 zcmd;LGcqtT)iavJtPxzAo10ivsgR$hP+F3ilUbEml9`_e;%28-Dioy_=a&{Grxxp- zGTAMlTdL4OdG}b4ZZSSv!!Dx%LbU3XV^KBm=`+7ZADE6(rK?24eSmgUGu; ovcX}g4~YHAhu1wMz||<;*~8J#&(&vbAV~BtkZiC&8U$hk03iNIPyhe` literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.runs/synth_1/project_reti_logiche_utilization_synth.rpt b/progetto_reti_logiche.runs/synth_1/project_reti_logiche_utilization_synth.rpt new file mode 100644 index 0000000..18b9943 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/project_reti_logiche_utilization_synth.rpt @@ -0,0 +1,188 @@ +Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +--------------------------------------------------------------------------------------------------------------------------------------------- +| Tool Version : Vivado v.2025.2 (lin64) Build 6299465 Fri Nov 14 12:34:56 MST 2025 +| Date : Fri Jun 12 14:52:50 2026 +| Host : cachyos-x8664 running 64-bit CachyOS +| Command : report_utilization -file project_reti_logiche_utilization_synth.rpt -pb project_reti_logiche_utilization_synth.pb +| Design : project_reti_logiche +| Device : xc7a200tfbg484-1 +| Speed File : -1 +| Design State : Synthesized +--------------------------------------------------------------------------------------------------------------------------------------------- + +Utilization Design Information + +Table of Contents +----------------- +1. Slice Logic +1.1 Summary of Registers by Type +2. Memory +3. DSP +4. IO and GT Specific +5. Clocking +6. Specific Feature +7. Primitives +8. Black Boxes +9. Instantiated Netlists + +1. Slice Logic +-------------- + ++-------------------------+------+-------+------------+-----------+-------+ +| Site Type | Used | Fixed | Prohibited | Available | Util% | ++-------------------------+------+-------+------------+-----------+-------+ +| Slice LUTs* | 181 | 0 | 0 | 134600 | 0.13 | +| LUT as Logic | 181 | 0 | 0 | 134600 | 0.13 | +| LUT as Memory | 0 | 0 | 0 | 46200 | 0.00 | +| Slice Registers | 71 | 0 | 0 | 269200 | 0.03 | +| Register as Flip Flop | 71 | 0 | 0 | 269200 | 0.03 | +| Register as Latch | 0 | 0 | 0 | 269200 | 0.00 | +| F7 Muxes | 0 | 0 | 0 | 67300 | 0.00 | +| F8 Muxes | 0 | 0 | 0 | 33650 | 0.00 | +| Unique Control Sets | 6 | | 0 | 33650 | 0.02 | ++-------------------------+------+-------+------------+-----------+-------+ +* Warning! The Final LUT count, after physical optimizations and full implementation, is typically lower. Run opt_design after synthesis, if not already completed, for a more realistic count. +Warning! LUT value is adjusted to account for LUT combining. +Warning! For any ECO changes, please run place_design if there are unplaced instances +** Note: Available Control Sets calculated as Slice * 1, Review the Control Sets Report for more information regarding control sets. + + +1.1 Summary of Registers by Type +-------------------------------- + ++-------+--------------+-------------+--------------+ +| Total | Clock Enable | Synchronous | Asynchronous | ++-------+--------------+-------------+--------------+ +| 0 | _ | - | - | +| 0 | _ | - | Set | +| 0 | _ | - | Reset | +| 0 | _ | Set | - | +| 0 | _ | Reset | - | +| 0 | Yes | - | - | +| 2 | Yes | - | Set | +| 25 | Yes | - | Reset | +| 0 | Yes | Set | - | +| 44 | Yes | Reset | - | ++-------+--------------+-------------+--------------+ + + +2. Memory +--------- + ++----------------+------+-------+------------+-----------+-------+ +| Site Type | Used | Fixed | Prohibited | Available | Util% | ++----------------+------+-------+------------+-----------+-------+ +| Block RAM Tile | 0 | 0 | 0 | 365 | 0.00 | +| RAMB36/FIFO* | 0 | 0 | 0 | 365 | 0.00 | +| RAMB18 | 0 | 0 | 0 | 730 | 0.00 | ++----------------+------+-------+------------+-----------+-------+ +* Note: Each Block RAM Tile only has one FIFO logic available and therefore can accommodate only one FIFO36E1 or one FIFO18E1. However, if a FIFO18E1 occupies a Block RAM Tile, that tile can still accommodate a RAMB18E1 + + +3. DSP +------ + ++-----------+------+-------+------------+-----------+-------+ +| Site Type | Used | Fixed | Prohibited | Available | Util% | ++-----------+------+-------+------------+-----------+-------+ +| DSPs | 0 | 0 | 0 | 740 | 0.00 | ++-----------+------+-------+------------+-----------+-------+ + + +4. IO and GT Specific +--------------------- + ++-----------------------------+------+-------+------------+-----------+-------+ +| Site Type | Used | Fixed | Prohibited | Available | Util% | ++-----------------------------+------+-------+------------+-----------+-------+ +| Bonded IOB | 54 | 0 | 0 | 285 | 18.95 | +| Bonded IPADs | 0 | 0 | 0 | 14 | 0.00 | +| Bonded OPADs | 0 | 0 | 0 | 8 | 0.00 | +| PHY_CONTROL | 0 | 0 | 0 | 10 | 0.00 | +| PHASER_REF | 0 | 0 | 0 | 10 | 0.00 | +| OUT_FIFO | 0 | 0 | 0 | 40 | 0.00 | +| IN_FIFO | 0 | 0 | 0 | 40 | 0.00 | +| IDELAYCTRL | 0 | 0 | 0 | 10 | 0.00 | +| IBUFDS | 0 | 0 | 0 | 274 | 0.00 | +| GTPE2_CHANNEL | 0 | 0 | 0 | 4 | 0.00 | +| PHASER_OUT/PHASER_OUT_PHY | 0 | 0 | 0 | 40 | 0.00 | +| PHASER_IN/PHASER_IN_PHY | 0 | 0 | 0 | 40 | 0.00 | +| IDELAYE2/IDELAYE2_FINEDELAY | 0 | 0 | 0 | 500 | 0.00 | +| IBUFDS_GTE2 | 0 | 0 | 0 | 2 | 0.00 | +| ILOGIC | 0 | 0 | 0 | 285 | 0.00 | +| OLOGIC | 0 | 0 | 0 | 285 | 0.00 | ++-----------------------------+------+-------+------------+-----------+-------+ + + +5. Clocking +----------- + ++------------+------+-------+------------+-----------+-------+ +| Site Type | Used | Fixed | Prohibited | Available | Util% | ++------------+------+-------+------------+-----------+-------+ +| BUFGCTRL | 1 | 0 | 0 | 32 | 3.13 | +| BUFIO | 0 | 0 | 0 | 40 | 0.00 | +| MMCME2_ADV | 0 | 0 | 0 | 10 | 0.00 | +| PLLE2_ADV | 0 | 0 | 0 | 10 | 0.00 | +| BUFMRCE | 0 | 0 | 0 | 20 | 0.00 | +| BUFHCE | 0 | 0 | 0 | 120 | 0.00 | +| BUFR | 0 | 0 | 0 | 40 | 0.00 | ++------------+------+-------+------------+-----------+-------+ + + +6. Specific Feature +------------------- + ++-------------+------+-------+------------+-----------+-------+ +| Site Type | Used | Fixed | Prohibited | Available | Util% | ++-------------+------+-------+------------+-----------+-------+ +| BSCANE2 | 0 | 0 | 0 | 4 | 0.00 | +| CAPTUREE2 | 0 | 0 | 0 | 1 | 0.00 | +| DNA_PORT | 0 | 0 | 0 | 1 | 0.00 | +| EFUSE_USR | 0 | 0 | 0 | 1 | 0.00 | +| FRAME_ECCE2 | 0 | 0 | 0 | 1 | 0.00 | +| ICAPE2 | 0 | 0 | 0 | 2 | 0.00 | +| PCIE_2_1 | 0 | 0 | 0 | 1 | 0.00 | +| STARTUPE2 | 0 | 0 | 0 | 1 | 0.00 | +| XADC | 0 | 0 | 0 | 1 | 0.00 | ++-------------+------+-------+------------+-----------+-------+ + + +7. Primitives +------------- + ++----------+------+---------------------+ +| Ref Name | Used | Functional Category | ++----------+------+---------------------+ +| LUT6 | 78 | LUT | +| LUT4 | 44 | LUT | +| FDRE | 44 | Flop & Latch | +| LUT1 | 34 | LUT | +| OBUF | 33 | IO | +| LUT3 | 25 | LUT | +| FDCE | 25 | Flop & Latch | +| LUT5 | 22 | LUT | +| IBUF | 21 | IO | +| CARRY4 | 18 | CarryLogic | +| LUT2 | 16 | LUT | +| FDPE | 2 | Flop & Latch | +| BUFG | 1 | Clock | ++----------+------+---------------------+ + + +8. Black Boxes +-------------- + ++----------+------+ +| Ref Name | Used | ++----------+------+ + + +9. Instantiated Netlists +------------------------ + ++----------+------+ +| Ref Name | Used | ++----------+------+ + + diff --git a/progetto_reti_logiche.runs/synth_1/rundef.js b/progetto_reti_logiche.runs/synth_1/rundef.js new file mode 100644 index 0000000..d5d6754 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/rundef.js @@ -0,0 +1,41 @@ +// +// Vivado(TM) +// rundef.js: a Vivado-generated Runs Script for WSH 5.1/5.6 +// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +// + +echo "This script was generated under a different operating system." +echo "Please update the PATH variable below, before executing this script" +exit + +var WshShell = new ActiveXObject( "WScript.Shell" ); +var ProcEnv = WshShell.Environment( "Process" ); +var PathVal = ProcEnv("PATH"); +if ( PathVal.length == 0 ) { + PathVal = "/opt/Xilinx/2025.2/Vitis/bin:/opt/Xilinx/2025.2/Vivado/ids_lite/ISE/bin/lin64;/opt/Xilinx/2025.2/Vivado/bin;"; +} else { + PathVal = "/opt/Xilinx/2025.2/Vitis/bin:/opt/Xilinx/2025.2/Vivado/ids_lite/ISE/bin/lin64;/opt/Xilinx/2025.2/Vivado/bin;" + PathVal; +} + +ProcEnv("PATH") = PathVal; + +var RDScrFP = WScript.ScriptFullName; +var RDScrN = WScript.ScriptName; +var RDScrDir = RDScrFP.substr( 0, RDScrFP.length - RDScrN.length - 1 ); +var ISEJScriptLib = RDScrDir + "/ISEWrap.js"; +eval( EAInclude(ISEJScriptLib) ); + + +ISEStep( "vivado", + "-log project_reti_logiche.vds -m64 -product Vivado -mode batch -messageDb vivado.pb -notrace -source project_reti_logiche.tcl" ); + + + +function EAInclude( EAInclFilename ) { + var EAFso = new ActiveXObject( "Scripting.FileSystemObject" ); + var EAInclFile = EAFso.OpenTextFile( EAInclFilename ); + var EAIFContents = EAInclFile.ReadAll(); + EAInclFile.Close(); + return EAIFContents; +} diff --git a/progetto_reti_logiche.runs/synth_1/runme.bat b/progetto_reti_logiche.runs/synth_1/runme.bat new file mode 100644 index 0000000..60fbf14 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/runme.bat @@ -0,0 +1,12 @@ +@echo off + +rem Vivado (TM) +rem runme.bat: a Vivado-generated Script +rem Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +rem Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. + + +set HD_SDIR=%~dp0 +cd /d "%HD_SDIR%" +set PATH=%SYSTEMROOT%\system32;%PATH% +cscript /nologo /E:JScript "%HD_SDIR%\rundef.js" %* diff --git a/progetto_reti_logiche.runs/synth_1/runme.log b/progetto_reti_logiche.runs/synth_1/runme.log new file mode 100644 index 0000000..f2d80ce --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/runme.log @@ -0,0 +1,247 @@ + +*** Running vivado + with args -log project_reti_logiche.vds -m64 -product Vivado -mode batch -messageDb vivado.pb -notrace -source project_reti_logiche.tcl + + +****** Vivado v2025.2 (64-bit) + **** SW Build 6299465 on Fri Nov 14 12:34:56 MST 2025 + **** IP Build 6300035 on Fri Nov 14 10:48:45 MST 2025 + **** SharedData Build 6298862 on Thu Nov 13 04:50:51 MST 2025 + **** Start of session at: Fri Jun 12 14:52:36 2026 + ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. + ** Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. + +source project_reti_logiche.tcl -notrace +Command: read_checkpoint -auto_incremental -incremental /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/utils_1/imports/synth_1/project_reti_logiche.dcp +INFO: [Vivado 12-5825] Read reference checkpoint from /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/utils_1/imports/synth_1/project_reti_logiche.dcp for incremental synthesis +INFO: [Vivado 12-7989] Please ensure there are no constraint changes +Command: synth_design -top project_reti_logiche -part xc7a200tfbg484-1 +Starting synth_design +Attempting to get a license for feature 'Synthesis' and/or device 'xc7a200t' +INFO: [Common 17-349] Got license for feature 'Synthesis' and/or device 'xc7a200t' +INFO: [Designutils 20-5440] No compile time benefit to using incremental synthesis; A full resynthesis will be run +INFO: [Designutils 20-4379] Flow is switching to default flow due to incremental criteria not met. If you would like to alter this behaviour and have the flow terminate instead, please set the following parameter config_implementation {autoIncr.Synth.RejectBehavior Terminate} +INFO: [Synth 8-7079] Multithreading enabled for synth_design using a maximum of 7 processes. +INFO: [Synth 8-7078] Launching helper process for spawning children vivado processes +INFO: [Synth 8-7075] Helper process launched with PID 33546 +--------------------------------------------------------------------------------- +Starting Synthesize : Time (s): cpu = 00:00:02 ; elapsed = 00:00:03 . Memory (MB): peak = 2025.719 ; gain = 449.828 ; free physical = 1656 ; free virtual = 17391 +--------------------------------------------------------------------------------- +INFO: [Synth 8-638] synthesizing module 'project_reti_logiche' [/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sources_1/new/progetto_reti_logiche.vhd:51] +INFO: [Synth 8-226] default block is never used [/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sources_1/new/progetto_reti_logiche.vhd:151] +INFO: [Synth 8-256] done synthesizing module 'project_reti_logiche' (0#1) [/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sources_1/new/progetto_reti_logiche.vhd:51] +--------------------------------------------------------------------------------- +Finished Synthesize : Time (s): cpu = 00:00:03 ; elapsed = 00:00:03 . Memory (MB): peak = 2111.688 ; gain = 535.797 ; free physical = 1586 ; free virtual = 17326 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Constraint Validation : Time (s): cpu = 00:00:04 ; elapsed = 00:00:04 . Memory (MB): peak = 2126.531 ; gain = 550.641 ; free physical = 1570 ; free virtual = 17310 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Loading Part and Timing Information +--------------------------------------------------------------------------------- +Loading part: xc7a200tfbg484-1 +INFO: [Device 21-403] Loading part xc7a200tfbg484-1 +--------------------------------------------------------------------------------- +Finished Loading Part and Timing Information : Time (s): cpu = 00:00:04 ; elapsed = 00:00:04 . Memory (MB): peak = 2126.531 ; gain = 550.641 ; free physical = 1570 ; free virtual = 17310 +--------------------------------------------------------------------------------- +INFO: [Synth 8-802] inferred FSM for state register 'state_reg' in module 'project_reti_logiche' +--------------------------------------------------------------------------------------------------- + State | New Encoding | Previous Encoding +--------------------------------------------------------------------------------------------------- + s_reset | 000000000000000000000001 | 00001 + s_done | 000000000000000000000010 | 00010 + s_idle | 000000000000000000000100 | 00000 + s_00_read | 000000000000000000001000 | 00011 + s_00_wait | 000000000000000000010000 | 00100 + s_00_check | 000000000000000000100000 | 00101 + s_00_go_next | 000000000000000001000000 | 00110 + s_01_check_number | 000000000000000010000000 | 00111 + s_01_wait | 000000000000000100000000 | 01000 + s_01_write | 000000000000001000000000 | 01001 + s_01_check_end | 000000000000010000000000 | 01010 + s_01_wait_for_count | 000000000000100000000000 | 01101 + s_01_copy | 000000000001000000000000 | 01011 + s_01_go_next | 000000000010000000000000 | 01100 + s_10_place_at_start | 000000000100000000000000 | 01110 + s_10_wait_for_check | 000000001000000000000000 | 01111 + s_10_check_id | 000000010000000000000000 | 10000 + s_10_wait | 000000100000000000000000 | 10001 + s_10_compare | 000001000000000000000000 | 10010 + s_10_update_count | 000010000000000000000000 | 10100 + s_10_wait_for_count | 000100000000000000000000 | 10101 + s_10_go_next | 001000000000000000000000 | 10011 + s_11_update_count | 010000000000000000000000 | 10110 + s_11_wait_for_count | 100000000000000000000000 | 10111 +--------------------------------------------------------------------------------------------------- +INFO: [Synth 8-3354] encoded FSM with state register 'state_reg' using encoding 'one-hot' in module 'project_reti_logiche' +--------------------------------------------------------------------------------- +Finished RTL Optimization Phase 2 : Time (s): cpu = 00:00:04 ; elapsed = 00:00:04 . Memory (MB): peak = 2142.547 ; gain = 566.656 ; free physical = 1579 ; free virtual = 17303 +--------------------------------------------------------------------------------- +No constraint files found. +--------------------------------------------------------------------------------- +Start RTL Component Statistics +--------------------------------------------------------------------------------- +Detailed RTL Component Info : ++---Adders : + 2 Input 16 Bit Adders := 4 + 2 Input 9 Bit Adders := 1 + 2 Input 8 Bit Adders := 3 ++---Registers : + 16 Bit Registers := 1 + 8 Bit Registers := 2 + 6 Bit Registers := 2 + 1 Bit Registers := 3 ++---Muxes : + 24 Input 24 Bit Muxes := 1 + 4 Input 24 Bit Muxes := 1 + 2 Input 24 Bit Muxes := 7 + 2 Input 16 Bit Muxes := 3 + 24 Input 16 Bit Muxes := 1 + 2 Input 8 Bit Muxes := 4 + 24 Input 8 Bit Muxes := 2 + 2 Input 6 Bit Muxes := 1 + 24 Input 6 Bit Muxes := 2 + 2 Input 1 Bit Muxes := 1 + 24 Input 1 Bit Muxes := 6 +--------------------------------------------------------------------------------- +Finished RTL Component Statistics +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Part Resource Summary +--------------------------------------------------------------------------------- +Part Resources: +DSPs: 740 (col length:100) +BRAMs: 730 (col length: RAMB18 100 RAMB36 50) +--------------------------------------------------------------------------------- +Finished Part Resource Summary +--------------------------------------------------------------------------------- +No constraint files found. +--------------------------------------------------------------------------------- +Start Cross Boundary and Area Optimization +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Cross Boundary and Area Optimization : Time (s): cpu = 00:00:07 ; elapsed = 00:00:07 . Memory (MB): peak = 2329.445 ; gain = 753.555 ; free physical = 1430 ; free virtual = 17108 +--------------------------------------------------------------------------------- +No constraint files found. +--------------------------------------------------------------------------------- +Start Timing Optimization +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Timing Optimization : Time (s): cpu = 00:00:07 ; elapsed = 00:00:07 . Memory (MB): peak = 2335.383 ; gain = 759.492 ; free physical = 1435 ; free virtual = 17103 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Technology Mapping +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Technology Mapping : Time (s): cpu = 00:00:07 ; elapsed = 00:00:07 . Memory (MB): peak = 2343.391 ; gain = 767.500 ; free physical = 1433 ; free virtual = 17097 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +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 = 2486.203 ; gain = 910.312 ; free physical = 1673 ; free virtual = 17328 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Renaming Generated Instances +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Instances : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1673 ; free virtual = 17327 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Rebuilding User Hierarchy +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Rebuilding User Hierarchy : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1674 ; free virtual = 17327 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Renaming Generated Ports +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Ports : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1673 ; free virtual = 17326 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Handling Custom Attributes +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Handling Custom Attributes : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1674 ; free virtual = 17326 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Renaming Generated Nets +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Finished Renaming Generated Nets : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1675 ; free virtual = 17326 +--------------------------------------------------------------------------------- +--------------------------------------------------------------------------------- +Start Writing Synthesis Report +--------------------------------------------------------------------------------- + +Report BlackBoxes: ++-+--------------+----------+ +| |BlackBox name |Instances | ++-+--------------+----------+ ++-+--------------+----------+ + +Report Cell Usage: ++------+-------+------+ +| |Cell |Count | ++------+-------+------+ +|1 |BUFG | 1| +|2 |CARRY4 | 18| +|3 |LUT1 | 34| +|4 |LUT2 | 16| +|5 |LUT3 | 25| +|6 |LUT4 | 44| +|7 |LUT5 | 22| +|8 |LUT6 | 78| +|9 |FDCE | 25| +|10 |FDPE | 2| +|11 |FDRE | 44| +|12 |IBUF | 21| +|13 |OBUF | 33| ++------+-------+------+ + +Report Instance Areas: ++------+---------+-------+------+ +| |Instance |Module |Cells | ++------+---------+-------+------+ +|1 |top | | 363| ++------+---------+-------+------+ +--------------------------------------------------------------------------------- +Finished Writing Synthesis Report : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1675 ; free virtual = 17325 +--------------------------------------------------------------------------------- +Synthesis finished with 0 errors, 0 critical warnings and 0 warnings. +Synthesis Optimization Runtime : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.203 ; gain = 910.312 ; free physical = 1677 ; free virtual = 17323 +Synthesis Optimization Complete : Time (s): cpu = 00:00:09 ; elapsed = 00:00:09 . Memory (MB): peak = 2486.211 ; gain = 910.312 ; free physical = 1669 ; free virtual = 17315 +INFO: [Project 1-571] Translating synthesized netlist +Netlist sorting complete. Time (s): cpu = 00:00:00.01 ; elapsed = 00:00:00.01 . Memory (MB): peak = 2500.078 ; gain = 0.000 ; free physical = 1831 ; free virtual = 17463 +INFO: [Netlist 29-17] Analyzing 18 Unisim elements for replacement +INFO: [Netlist 29-28] Unisim Transformation completed in 1 CPU seconds +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 = 2645.660 ; gain = 0.000 ; free physical = 1835 ; free virtual = 17379 +INFO: [Project 1-111] Unisim Transformation Summary: +No Unisim elements were transformed. + +Synth Design complete | Checksum: 3d7ece1d +INFO: [Common 17-83] Releasing license: Synthesis +21 Infos, 0 Warnings, 0 Critical Warnings and 0 Errors encountered. +synth_design completed successfully +synth_design: Time (s): cpu = 00:00:13 ; elapsed = 00:00:12 . Memory (MB): peak = 2645.695 ; gain = 1069.805 ; free physical = 1881 ; free virtual = 17374 +INFO: [Common 17-2834] synth_design peak Physical Memory [PSS] (MB): overall = 1976.781; main = 1976.781; forked = 0.000 +INFO: [Common 17-2834] synth_design peak Virtual Memory [VSS] (MB): overall = 2645.664; main = 2645.664; forked = 0.000 +Write ShapeDB Complete: Time (s): cpu = 00:00:00.01 ; elapsed = 00:00:00 . Memory (MB): peak = 2669.672 ; gain = 0.000 ; free physical = 1881 ; free virtual = 17374 +INFO: [Common 17-1381] The checkpoint '/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.runs/synth_1/project_reti_logiche.dcp' has been generated. +INFO: [Vivado 12-24828] Executing command : report_utilization -file project_reti_logiche_utilization_synth.rpt -pb project_reti_logiche_utilization_synth.pb +INFO: [Common 17-206] Exiting Vivado at Fri Jun 12 14:52:50 2026... diff --git a/progetto_reti_logiche.runs/synth_1/runme.sh b/progetto_reti_logiche.runs/synth_1/runme.sh new file mode 100755 index 0000000..646b7fc --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/runme.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# +# Vivado(TM) +# runme.sh: a Vivado-generated Runs Script for UNIX +# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +# Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +# + +if [ -z "$PATH" ]; then + PATH=/opt/Xilinx/2025.2/Vitis/bin:/opt/Xilinx/2025.2/Vivado/ids_lite/ISE/bin/lin64:/opt/Xilinx/2025.2/Vivado/bin +else + PATH=/opt/Xilinx/2025.2/Vitis/bin:/opt/Xilinx/2025.2/Vivado/ids_lite/ISE/bin/lin64:/opt/Xilinx/2025.2/Vivado/bin:$PATH +fi +export PATH + +if [ -z "$LD_LIBRARY_PATH" ]; then + LD_LIBRARY_PATH= +else + LD_LIBRARY_PATH=:$LD_LIBRARY_PATH +fi +export LD_LIBRARY_PATH + +HD_PWD='/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.runs/synth_1' +cd "$HD_PWD" + +HD_LOG=runme.log +/bin/touch $HD_LOG + +ISEStep="./ISEWrap.sh" +EAStep() +{ + $ISEStep $HD_LOG "$@" >> $HD_LOG 2>&1 + if [ $? -ne 0 ] + then + exit + fi +} + +EAStep vivado -log project_reti_logiche.vds -m64 -product Vivado -mode batch -messageDb vivado.pb -notrace -source project_reti_logiche.tcl diff --git a/progetto_reti_logiche.runs/synth_1/vivado.jou b/progetto_reti_logiche.runs/synth_1/vivado.jou new file mode 100644 index 0000000..bbc0a51 --- /dev/null +++ b/progetto_reti_logiche.runs/synth_1/vivado.jou @@ -0,0 +1,24 @@ +#----------------------------------------------------------- +# Vivado v2025.2 (64-bit) +# SW Build 6299465 on Fri Nov 14 12:34:56 MST 2025 +# IP Build 6300035 on Fri Nov 14 10:48:45 MST 2025 +# SharedData Build 6298862 on Thu Nov 13 04:50:51 MST 2025 +# Start of session at: Fri Jun 12 14:52:36 2026 +# Process ID : 33507 +# Current directory : /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.runs/synth_1 +# Command line : vivado -log project_reti_logiche.vds -product Vivado -mode batch -messageDb vivado.pb -notrace -source project_reti_logiche.tcl +# Log file : /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.runs/synth_1/project_reti_logiche.vds +# Journal file : /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.runs/synth_1/vivado.jou +# Running On : cachyos-x8664 +# Platform : cachyos +# Operating System : CachyOS +# Processor Detail : 12th Gen Intel(R) Core(TM) i7-12700F +# CPU Frequency : 4313.234 MHz +# CPU Physical cores : 12 +# CPU Logical cores : 20 +# Host memory : 16502 MB +# Swap memory : 16501 MB +# Total Virtual : 33003 MB +# Available Virtual : 19387 MB +#----------------------------------------------------------- +source project_reti_logiche.tcl -notrace diff --git a/progetto_reti_logiche.runs/synth_1/vivado.pb b/progetto_reti_logiche.runs/synth_1/vivado.pb new file mode 100644 index 0000000000000000000000000000000000000000..2e548446be03ac9ef72aff02233c980d4ccc2654 GIT binary patch literal 24218 zcmeHP-E$n-RnJ(Ky}s*g3`sVLlL~jUxYjH0jQewXMrLbc$=2Fn?+W=NM1h*LX09}i zXS#>(9!uI4;a}jD2Y5(9L6J&GLMR@ffF~$Ei{b^|D4rx+v=GP*2<^0w2dc)C{E)9CFf4eK(j`5ue z`@KqtZ>@G$w4V(E&yRW49mYY+^V^~53qN*yyqf=Uvm5lqO}8gdaTwfO4})J8?KrwQ z2!kCFqhu&zuhk27Jk(kIv=)W!=;ko?dQnTi>GcOehzg>8Kkni;Dxw;ddTO2aVDqAG zRE)kiVj_52;4ubbexpj*wHcq(lgdcO3B z?5nrqSo8<7d>n8fj=Q|)wV@dy&Act#m~`~Uwdf5Fh~9+hJK{OskdLGsQ)?_;Xu~%G z-*}l_dPKk@G#HG%l=flsg6>pJ%gKv>#Vvep4Bhq0Zs&Dbze0$jI!6`DN^IZ=QwgeA{KB3+)Ve6L@!%9!wyl7}u z+p@GgM818F{ZD1B7wmE`;?b@bx4R@2;yYs79rj|rO@HhR(Y`=wOgr>q5qd5l8uPx0 zYyAE;-w%d-HyHLh(BU&##O>iN021!P1q{QWIH zNL(TU0$@GZzK51j;{Zh$0#PkoW82$lA;9#KP!@ZE&p)L2b|2xbCJkTP5EO1!66qm- zoQnEYsV2i{POHf>9mP@syY~>v@Zv57Q)-0p-L0PJNJ!>!J~Erj`|h6CANF~$O#uo{ z)fQ1Cq8bUc8b)JjF>s^($XH+%XY)d%>S(G+m%a1A9r}qqx}rBge@C?>LI>`yPc6Y4 zy$&KHPy9N4DG3vhPp!HqWujxiLYJ@Kzk}9~nrx*_zQ`6$)3)lP z8kJb~XBBo1B`z;5O05{bQ(@n(WD!9c1fKYT;LH3m0seaQ<}z;&hWu@=Y0LDF!EbTV za|aO`kv%kdjXxCqAl&EIAFiOtK)BEFXG1gWnxi*SW(Oe>Pb{lhgL?5`I~0Nsy8DsW z#u)cD*XwpYef-=D<6-jDF`GJrQZDaZPQvj&RoLfc@!8-(umpM*oK%09s}%P;Pl1rjPdq)w{xXpTwv#H{mQvU<*Sv=#YPqF%-b54`C{tS zTfLzDj9lIq&w;BUbWJ@ojCyM0)9JxQwxH*`fClBe@E;X+trPen8CeR?b9UcVN- zDLZ3lotb4O_?|`%sJ|EnGi;@|g|4*b`Cin8Ys}+H=8;@U*Y#SxL7p>mCEJ8=HJ#LF z@~&hzie1U5E3VX&!GNW~;4#~%9`}dju|1Z!?q5$tpYK=LcPp97R>zstQ@7`JTsd6K z3`ACu_N-ZfNH^*=+thQ~v$a~?q6brf$ab{!u@Z=M?NqgQ($>18qT?;LBnJxqAV|j8 zb;>y@SHMU?arnNEJijlkrda)?+uc;#{TlnJw8fMqFHfb(N@MS`PvzfEhF3&AXX!$c z#u`7#uB1t7mS|rv^s1#%rk%|iPP*6sJmFgiPk%D@t+Y>v*lhNYf95=GkC~p2`D}r?|ieY74g5H~I7jp#bVQnEnHvyeD?~UB4a3OnmB<^$^p+U>J>GQKX-K|M%7Y zyR0?U%LqoLna{X$TJcBEy)sn`M^3G2GP})&$T@`bs3o(kGU2*bDm)p{jwsygAlohx zu50DOH94HlFFa~#8uX6Ero)9pcDZo^X!VrRP%gPSEnj-l08DWS0w{7jTfPCySyjf7stbz@4r3k?c8yAEoE;R@sQdZJx?5 z6Hf0P)#iF@mlknm_B@k4hw%A(p3}TQZZ|{iW7*}x=d*dH>=v@fRy!DCLA6+TPIjqq z{ixwJ>3%TSFBYDcT`F8VQjn374|6p|cByc@JrCfpaG|xZBheNuH*O(eK~7(wc2#z{ z@Of=NPf^?B4j&IM!x3WLm)>^X!V zq35HnV|kl)GA3+3ExTO!d^V@B3Y8BBnBR*+KQEA7Dja3zQG2HBSwW^q_8h{Gto9;5 zFO*#>eC{BFzUwp9UM#y*xIUlFrRcGrPsH{avgZ)4s{Qn54!==h?_v)$=#1u#a*x!Kl~zvVX4%wa@;p}Y&BEE_C3X?ZtkrH1&zx9d%Yrrm@-xemUXl2_i4}=I ztg!EoS0pwbKj80UBeCy&kSz4AcWH~&IJRX7%c$8Ft&XP4rS*C(x5c0=mpZgVA=d$w z1wYNCppxx8oU{T@THdlc@%;+pnB^lMAXDKe!vL5=Qbsd>tbus#h$|uYq+2_^%y&n` zF1Bhr6Ah+yNuWw;>~*!PSJ*2zuq<-B(-C1b`RP3 zK4}%$>5>l=sbw|sW?@bGN2sY$Sd%$j(+#zEpJqQnn%Eevb4@AZp8C4RYNU+(XRMA~ zCD`7R?{Q*linrA?VTeC#$A*Hou^)d+sl!_C{OBVS{$ zXB(F<=JRrwx&uli-hrI1(A|E91aPw=_~)`VIDVrH#=tyYpy0 zTIP@ zhv2$Xvyt@_BAAdqwXUW$oii1Mt15y&%RZeT`2PEtkw*fzF#`WgVfP(XA#bp2i9*(T zF0PlzWAiHl+rWaKSrx6QDq3RKv*i89TFRzWv*w)86>bl_C*mGfs`)BimKzSvl#3lQ z`TMbQ{$gV6{M`!s?eW-|k2$kPP1-S4ie|*~$fH z?y-ukAubBiX@Dn43Hdz_*bdv>(_JY&>BXkMpMdm_D(nY&NYBvG>EM~JMNG|YOyg|f zc{o zgVO>m2%)z%jL%rc@edQ>`Hw2>hvV=(TS=#b=o#_(Y$3X#BAT-=&y3HQE}yON{I?Tu z{$Yjv!5Gd32{dWwbg*2w6JVb5b?%dn&a-ljui=^u1?Tk6eZ)5eaT=X!u5nX!yw9=E zvZPgf1-C7ptpqp$HgPC%+E;H>>9knxllyr?>E3kN1AdT7;+Qexh<`Rs<_9HZKaSk_ z%O)zyxJYs;S`{G6c@nuhB2iJcVQWaOW<{>D&yO^cDkl9&9XzDe=(@v!6vX+#YH}vM zq*Pk@$RO#@l2QlB*{p+=Cu{HG6jLHvmnJx@g~>UrgVoy`8(+7QQhKAbRB~SK;K7r} zBvr~XtoOc?**hg;a{9CbEoD zSq;3Kw2-9AQck%Jn@Op)JF9ooQgieR*KO(TwL9xsDPG<}U4jFpHnLK4Xafs}B?b29wy{K($S-dxHnxs6_Z8W(Sx)dYRsK3pSn5`waL$@LDEEKJyCYH zdof-9X!1{b{5^a+J8Kkvp%NxriPa~qz;CL6zsJ_bDa&@s93(FdX&memK^VQoHBMA+ zk|S%^4QX#QlBd!%p8l*UPBG%x$w+-9$Ie(x{>TsCz$IH^`I^bG^MAR?kr5Z=54V_x zymFJd$loL>de)mCRM___GkQZ;RC*wuJJ#+XK4)ij4%@S-7vCV#CE&8|tT6sKbo~hX z+?23JBj&>ou!rF%o0W{Xu}oWAx;SDk+g#MEwnH?G8MVxRS6Fy0!YL(%pA9s2`5h_z zEaqgB?~P6$$?uZ~kH!zjmLUSu%U2hy#+XVGhsn|n)(FWq^@q3;$pSTQe3HF9B8<~& znm+jxM2`l}jMOxzVSugqI@$xNlcz>HB<(molH zQP!mnm=B35aCQ9&j|7+vJJ1L!2UB2HIZ>6#x($Wd?dRB=;5@-CTT;=eA(B!?lC<(5 zcL^@BK4>^q>nog)Kac8$l4A_b@q7@(fsY0}eZ&BXCq1w;ah!(2lbUQ{v$3=Q8APNe z+0?Yn3#MMxRrb06{C@x`fF^|$F@@&88+FUB)$7_MnCt{hpo=U5Q;)q?Z1m9~^<^f> z6&Jv~mKnsrVHL1~PU3Et7-2yJ>qi6~(Wx==TNKQL>?zK4=UssR|Hnn1%GG zXrNPVD4bQ_V($V$bYBhw559eEG~mb|tLZS5K9$1|-nuJCDo}1p(gr93y$78vxkir6 z7M^G5V-U)3o9C^nr7+AsU{_INs+bOshHWC|BsSIkq|!V^t?>%GEMsUZAySp~QM||$ z^Y1SNu5rCE-^^t`#;+%{`E^_tVr zZ-GHo5_*mw0Qt`_kbxAG!Z|399neLa$`$0_{CG{oz2~P1Gbpw2X>kijvB1h&IDRlk z3;*kd01VbOD4iDkQP&-aJ1g?~Esd;z&cw(Hv#F5~h^b@LREO0P=zuJaKL(30U?cCM z<0>}zfI(Wjlb*4VW646@&@=p8W^7FLZ9HS%aZsv)9eFM$a)$;mCAeZQ;&XTRL>pwv zNhU(f>qrGDb6LE)XxB|s;a-o}uV7F{;?g4e<@6GIb(^@Ji%4VhueGE%*TMnV+6PG!|OZ07MV}E^#U3e;~!405eE%f-$4t&1 | tee compile.log + +echo "Waiting for jobs to finish..." +echo "No pending jobs, compilation finished." diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/elaborate.log b/progetto_reti_logiche.sim/sim_1/behav/xsim/elaborate.log new file mode 100644 index 0000000..2f60c4a --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/elaborate.log @@ -0,0 +1,17 @@ +Vivado Simulator v2025.2 +Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +Running: /opt/Xilinx/2025.2/Vivado/bin/unwrapped/lnx64.o/xelab --incr --debug typical --relax --mt 8 -L xil_defaultlib -L secureip --snapshot project_tb_edge_behav xil_defaultlib.project_tb_edge -log elaborate.log +Using 8 slave threads. +Starting static elaboration +Completed static elaboration +Starting simulation data flow analysis +Completed simulation data flow analysis +Time Resolution for simulation is 1ps +Compiling package std.standard +Compiling package std.textio +Compiling package ieee.std_logic_1164 +Compiling package ieee.numeric_std +Compiling architecture fsm of entity xil_defaultlib.project_reti_logiche [project_reti_logiche_default] +Compiling architecture project_tb_edge_arch of entity xil_defaultlib.project_tb_edge +Built simulation snapshot project_tb_edge_behav diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/elaborate.sh b/progetto_reti_logiche.sim/sim_1/behav/xsim/elaborate.sh new file mode 100755 index 0000000..63b062f --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/elaborate.sh @@ -0,0 +1,26 @@ +#!/bin/bash -f +# **************************************************************************** +# Vivado (TM) v2025.2 (64-bit) +# +# Filename : elaborate.sh +# Simulator : AMD Vivado Simulator +# Description : Script for elaborating the compiled design +# +# Generated by Vivado on Fri Jun 12 15:55:44 CEST 2026 +# SW Build 6299465 on Fri Nov 14 12:34:56 MST 2025 +# +# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +# Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +# +# usage: elaborate.sh +# +# **************************************************************************** +export SIM_VER_XSIM=2025.2 +export GCC_VER_XSIM=9.3.0 + +# catch pipeline exit status +set -Eeuo pipefail +# elaborate design +echo "xelab --incr --debug typical --relax --mt 8 -L xil_defaultlib -L secureip --snapshot project_tb_edge_behav xil_defaultlib.project_tb_edge -log elaborate.log" +xelab --incr --debug typical --relax --mt 8 -L xil_defaultlib -L secureip --snapshot project_tb_edge_behav xil_defaultlib.project_tb_edge -log elaborate.log + diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/hs_err_pid256439.log b/progetto_reti_logiche.sim/sim_1/behav/xsim/hs_err_pid256439.log new file mode 100644 index 0000000..cff1490 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/hs_err_pid256439.log @@ -0,0 +1,24 @@ +# +# An unexpected error has occurred (11) Segmentation fault +# +Stack: +/opt/vivado/2025.2/Vivado/tps/lnx64/jre21.0.5_11/lib//server/libjvm.so(+0xe7195c) [0x7fd51747195c] +/opt/vivado/2025.2/Vivado/tps/lnx64/jre21.0.5_11/lib//server/libjvm.so(JVM_handle_linux_signal+0x23e) [0x7fd51747242e] +/usr/lib/libc.so.6(+0x3e2d0) [0x7fd556e4d2d0] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(+0x34ebcb) [0x7fd52434ebcb] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(SimBridge::DataObjMgr::createDrawingBTree(std::vector > const&, ISIM::IGuiStatus*, bool)+0x211) [0x7fd52434f1e1] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(SimBridge::DataReader::getTransitions(SimBridge::IDataObj const*, long long, long long, long long, SimBridge::ValueFormat const&, std::vector >&) const+0x6f) [0x7fd52436a6ff] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(SG_Model::ModelImp::getTransitions(SimBridge::IDataObj const*, SG_Model::IDatabase*, long long, long long, long long, SimBridge::ValueFormat const&, bool, std::vector >&) const+0xb7) [0x7fd5243c2cd7] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(SG_Model::Model::getTransitions(SG_Model::WVDataObject const*, long long, long long, long long, SimBridge::ValueFormat const&, bool, std::vector >&) const+0x128) [0x7fd5243c60c8] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(+0x3a9596) [0x7fd5243a9596] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(SG_Model::WaveformRender::render(SG_Model::WVDataObject const&)+0x294) [0x7fd5243a3f64] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVWaveformPanel::WaveformTraverser::drawWaveform(SG_Model::WVDataObject const*, int, int)+0x2cf) [0x7fd5243f1b2f] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVWaveformPanel::WaveformTraverser::handleItemSize(WaveViewer::WVTreeWVObjectModel::ITraverseHandler::TraverseItem const&)+0x54) [0x7fd5243f1ca4] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVTreeWVObjectModel::traverseYRange(SG_Model::WVDataObject const*, WaveViewer::WVTreeWVObjectModel::ITraverseHandler&, int, int, int&, int&) const+0x1a7) [0x7fd5242391a7] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVTreeWVObjectModel::traverseYRange(SG_Model::WVDataObject const*, WaveViewer::WVTreeWVObjectModel::ITraverseHandler&, int, int, int&, int&) const+0x22c) [0x7fd52423922c] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVTreeWVObjectModel::traverseYRange(WaveViewer::WVTreeWVObjectModel::ITraverseHandler&, int, int) const+0x58) [0x7fd52423a8e8] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVWaveformPanel::getGraphics(HDGDStringStream&, long&)+0x3de) [0x7fd5243f137e] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WVExecutiveImp::getGraphicsDataSize()+0x9a) [0x7fd5244037da] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WVExecutive::getGraphicsDataSize()+0x12) [0x7fd524403c62] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(Java_ui_views_waveform_waveformi_WVExecutive_1getGraphicsDataSize+0x1c) [0x7fd5242050dc] +[0x7fd506f7a1ea] diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/project_reti_logiche.tcl b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_reti_logiche.tcl new file mode 100644 index 0000000..1094e45 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_reti_logiche.tcl @@ -0,0 +1,11 @@ +set curr_wave [current_wave_config] +if { [string length $curr_wave] == 0 } { + if { [llength [get_objects]] > 0} { + add_wave / + set_property needs_save false [current_wave_config] + } else { + send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." + } +} + +run 1000ns diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/project_reti_logiche_behav.wdb b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_reti_logiche_behav.wdb new file mode 100644 index 0000000000000000000000000000000000000000..ecb626c4ab827a746adffcf4fe874036ab413661 GIT binary patch literal 13294 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb.tcl b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb.tcl new file mode 100644 index 0000000..1094e45 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb.tcl @@ -0,0 +1,11 @@ +set curr_wave [current_wave_config] +if { [string length $curr_wave] == 0 } { + if { [llength [get_objects]] > 0} { + add_wave / + set_property needs_save false [current_wave_config] + } else { + send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." + } +} + +run 1000ns diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_behav.wdb b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_behav.wdb new file mode 100644 index 0000000000000000000000000000000000000000..4f79ae6ce79b3b911150866aa8dd9ea69343618e GIT binary patch literal 396500 zcmeEP2|QKL7q=Cn@+%dUtzK!fw5q63L<>dxhLBV!vK2~^U%RbUN~N^#dm^p0YhQ#) zyU0@Z{Lj2M^jyF9`?u)l;=GSB_ueyS=FIoZd}q1y7-v7r-qAyOtlk&{iy9#Z=i*pB*Nq#NX1hum8 zZ#jrkAxD>Ykv6DeY8w;YJ;$8N$MWLHNxay`ipr-^`3x#|qVl;^?n&j|RKAGH1E_oj zl?PJ!8Yv`C}?iqVgA1 z{)WmwQh6qo=TdnAm4Bmh5n=8{q&P3Ok>qxjB`Oqw>jAZbjwOsC*`s&!+OZRPIUTK2*M#$^)o;1(gR;`C2O9 zNab6oJd(KSJdvsXUs>&r|tjD!)eMx2gOdl|QEP=T!cZ%HL4=M=JkJhSBmd&XHqEKL6_qPdIfu$SQn@;nccXGGD%YWMJt{Y#@*z}i zO68-dd>oZert+y&Zb#)aseCq-yHfc)D)*uC#Z>+`m9M1oASz!=^%ZnaaOVc_EdTQn@IPu_7gS zu}wo>%xS`l)0$IxD=Jr}@^)0-k;>JnygQZmrg9xB*Q0VnDj!Parc^$P%Ewdr6e^!e z<#tp)i^}Ivxhs{=qw)n*?nmW+Q~63N52o^UR31j<5mdf|%J)$D0V+RA<)^6p9F@mW z`4uX^PUUx~{63XGq4H!Ze?{eQsXU#^v#9(ll^0TZDV2+f@%on}FHUR7izA!xVw)CJ z-kQplsk|MPccO9)D(_C^y{Wt(mFrWvA(aoM@)1-%n##vh`4lR*rt;}jK8wodP`MkG z&!_SQRPIOROR0Pnl?PM#Ix62p7d{5qB2q4Eb* z{*=m-sr(g{zoYU`RGvlUU#Yx^%7yB2{gfugiz6j@u}vdh%oY9zzaowQgF>(fL;w*$ z1P}p401>Fs27OF@_BuW!T0sP&PCk1{*)H^OLA=alg}yhLElY z6fp#1FfGD-)F6vtrh|WCZLcEiJM5~ zrKRwT8<&=f^Dc>%+(P`|9=sCaVr}ba4ab>eX-`ReyXL*XUT9Fh^v;Xlisi-|G_cScWnn%_&x}6%o{m}t>9__$ zop@T*2=d%?_y|2SVg}rNFAZ)+kAQ7$1OBqU=UY~O*Gj2)738y$;NJlP`IK#jpX1#M zJ*TlEby9yC(=A6KapDp9&@C^aczQ2S8xP$w5xPY0DL0#q8dY&INwXEor(C{?(f~h~ z57HkDEZ$3qaCk1XkyE5#DDPA&At58kUk=)KAT&5;kb^wWHx&{Z0j-9F2ne4c>;gR! z2-B0$hlX|#Ge7?DU>lURnvw+RJtQ2U35or}@QZ}977ZqHDUvILr)Bpf1^Lh_mS0oo zxZG6M7nDKD%@SfFCmf+buPtcY58|>kaLFx)ltt2$&P|{n3_(yDH;|EPkx@)g8b6Q` zd#(N{!_;e1vhlu+jwvZ3Ocp(H*hxri7>I;|UHj^}D+nUs$e0Z9rrQkk+ zA7U4{o$Et_4f&9~rD#m@;y@t&CHc36KtANUJB^86Sy^O$Q1&Uqu$> zT{>T%$jRsbrd>H-pT0i(|7nBf>nriH<)$UGNYbuIJ1(=O+}O>69-f9FTj4)@T1{-bF} zdgy=n(X^vI^z(l-?RXFU`n2Mt{mFCnB)EN%+!GEf#{n>Fz?YVAS|9}CThhizzb;SP z{;EEGjmh;J;ph(2d7MYu1ZmIZX+4wmJMraf05XBT@bb{_!U%rmJ`48H_u@;d403^KLp}5t@uh9^Z)w+f=r7|-+ZNLDV@BFO!Hk^P(^uSF9IPQNKW1buQl2m1(3lG}ukYG0(kk+&1$-6w(%ONHA2ZVS z%k#}l)Ys%oJDrhMnLjP$tIL;mCdl~Pg9?Az#fkc6d}(Jf(zfAG3;9~{r6p?*3L#uE z@V)AxPhYQdF?0F1wAVfK-TCq*`$huuz3rh-U&nLvb%nJ2n329(j@hPX`t%h&H!Yd- z@#8@HYI$0y+h%G5i4H;#qXD8yd=|l%HtzqVCHiHYNv_F~k_U@qb7@1mCK9UbYEURtCwR)K*abW$B0wFRY z_6vIcv-w!eg&oJ)&Q3FItzlwRx%L*bob2qar`rk{nhzI( zQ0R$5?e>UOhE9xc#!br z2O_>ZkeTTX7b-)FZZUtq=k1o3!3-PFbDf=L2~D#HzQJJ>A;~DBMi)p zO=0V8pn-`VTv?bKPcRVT?Z}Z!3q3P4z41c!T+r>gnA=mxzhg+R%J-}73Cd0uT!(!3 z20yM`h`A{7p7LEnU3t%-n%qrLAxB$}xundwwnEmf&d%^Y!#@wmh zdUorj?l#>H4)#-f{M*FJCo zc33&v5baq)q`VpM%ih6us;m7h8yAf}@KJ{?TQk@phmNY*&7xb^ZhbWD9YJx{ESDe5 z_Ghh{3!b%is$!ceWcq^^+1uLMmH}nMqb@+9SC6VO?f>Ndn>MOVb+YmNvxf2)@zd5i zx;of8+gn2quAVsa00?f2&W;Og>Vi+9E1xHEPZi27_LYa-b;F{RE2LiEmAB0m7 zh)ri8L_;9uUxRQR!Yv4i5bi>_2jM=12M``Ycm&}I1hT)E3?T)=2M8Y_e1ebxArnFl zggglO5DFj^Lf|?Sd{5rxkgp7gLJ)&c4+8n>0QuTLLkNu^G=?ApfqZqKIfNDvT0_u) zpb3F|MW8!`9uRs%AYT#a2Z6jt(}SQ7VITxU2!kOQK^O+X48mv#V<3=yG4fS`@es&Y z1*Sl-fM5y13c_><_7G-3aDdt{ed8g=t zES|W;{JP8Z-5%dn)NEH|ObfpfOXAx~Gz! zObc2bjhTAXJ(cvhCoABogd9(wsYl&YNsqiwC!c%)delAKH2nTcmFGSZdPiesdDK0X z^degF^mfshsYl&YNzbwsPtURyuLU#psCz2uO>fOhpHE|^9(7M8y+aB-y~qClTpo2# zCB48Uy!7j7%q)+>TuE`92SD1Q=Wl9k9>oLa_rk;`jJtprm^^^tZF~$WYa>99IsP&A+6vHPj({>0`!DpvUAv zrd|gDdQ2W<>U9*L_xInt{ufANrd}rjdLB!8dJAdH)axujZ~8Kxo(GMYdR+wQSuW@4 z&89I^PfdW{xD`A-OByrv)CK4nt>o#ApfOWVLx5iIRXjai8Z-4Y1?Y8H&C}DQF;lOr z06n=to}My|nR?v>=t%_e^kitv)ax!lFQ29t3g+oE^?C@lM7NFNtfZpQ}UOA~W zW|r4WfSzU<@lrYeJeB03#iz%AIq3iB_2y5^cTLX=!cjrKhj3Xoo?W5?u4adda+|U< z=M^909U_1T00JAB9Uf7sRs_oUtjvg#X8bz`Wlu3i1P}p&fH||nAS~620Mi{2Qv5T+ zYBdcDM+8`h0C|6eANC+X+_8PZcY8*(!1>pAH1G-$sEELcinn-I%?L1ullpSVU)Agq zES|*(JY}(MbXH@)x^2gx0VL0o?y$lQ+J9pS#Q|8)f9LGAuAg1ege9F(2T4wIaZre~nf_ z{;F1oVBxGrpoG=d)ji{w{AJb#`K#`=0<7_mB0&DOFn-vB0F%FlwnhG8k9W`#wjq$j zHiPQ8Jxu;m*{Kdk8T3E2{&}zkUx<)UM44Ab+vTyG;K2+!6VUT^>Sf*n~h4n~XtQ%Ksl^ z85AEoA%B%&fiWV$L?E5{0Pm|60p|ScQD@|@YIO(}&Ta&l9fsZ3)_Uuh?s(J%`K#7D z9V__D2;lc0e;K+zqR8a0`)bHve*|dEv{oRHUn^=+dn&=?uN&&fU$w`(Sd*$o;B8fB zi23~%0!;oos)79VTY#c+twsRPPq53qO#V8eiTuSb51}<|LZFyU#-J^g&QBcZiu{Gm z0uc~|0G|I6giQ53XU@NNcSHWF9#3GYH35ONnqXudvXRMOE4w3q)gkv|ReurzVP=Q< zNqtOSwFofXv8o61SJfhnxz#2FaQ(*ennMK?sO27c7Dj;`9Fm0j4|V^+x{sPk_flY9s>q z{YQ4Wjmcl`eUQJ{I?2G)xE)StKY(n5An~XtQD(!y_*GB%r zW`PI@LIC%_1R+yB&zb8-Qyt{5>hT1YS`!fXP!o)-LpCz`t4}}VuR7#@tm;o9@bxFt zWAZ$Y0g$5-gs@2-IVC7#7=F z7ffTiqp2?PS6%Qs*74U6$ow@m)cQjRF!@VF5Bcj4L5xC<(k$zQR9kiP_Bh0hUzbcBFa2r&6;uL1HGs~m*JunK`3R#}6_F!^h%YJq%cz+MWYkQvYpvBx{#s##{8ek6jTQTC1fKnN z4wykzBEaM?J7eUps>B!bs$B?V*RJZ+_}Vb}Yy1%8uNv=EtiT^b0RR5iAA|OnGG_AE z#G%MvzXT*I)d>Xf{|~Xt%}o9>8;1PFE)StKY(n4(n~XtQD*gTF&cl(vuvs7if)K#{ zFG0vu&vWMdOTh&Bt9m?vrPc%l3TuLqb;w30f3+}0{;EUn$EyA$0{K6g9+UrB1epBQ zcm(p-pG6#VugM7D`7d^PkI7#jkiXdFAhd>62;lw~tK3m(|2}CX&cE2@A+&}~2$ZnN z7__Ale?2in{=#N~2na$TSC9aoR|^8n_2W%*A)&fPa6LP2Q-? zUn|BUf3eF$XbqbXz`uXbCT~>cFOPA^U+nS_TEi*?m>b5dGOq3!!*qwoc;v6T*9x%4 zKZ*dJ|N2p+{+o16{&Jmw{Po`;kEPT^1d3{+(Y4rSCV$PIi2PNH-HlcIO$6Tjrar1y zEdosb8Z!y`t7;L(+-eg7rM0OtwV*Cc{u(_Q`KuPV6|3-v5WxMfKLqSAX3OL+vnj}5 zzX&C&)d2*Mzu4tuCV!b)Ab+vTLud_~5WxK}HhH7+`LCXq$Y1R85L&|~1aSVvCT~>c zuWnYzU+nS_TEiv;@caauyiu9I)TSbTvCBhf4Vw@sV3RRuOQpX*(cT*Q3!4QZAP9l? zf&}=yS`c9F-#4~F{;C#7V4*bv0TE`0sS#G!UL%?A_{$dgtM+;uYxcVc6#s4ps9&WB zF!`(DG~}-;1sF4{RS4kz7rWfaA)&fd7A+P2Q+{e)Yi& zL_iP%qRa)0poIARKS6-$j#IOczy1^8v5*>x zKt_$Uy7n5)A)&@RUu)pe>cof1U9}{=#N~2na#|_rC-oQ$5d_>&JcbkiV+O z6Ig0ZKmfo0$SyB2`D_1tOdnzh*2z{`#|s zW9~H>0o?y$m-m?bWwj9bi(MWj>j$X|8H{aDqXMBw93rpM%e76B%I$@(FG{aM5@ z_nM5rrMgC%!htL`}AyC35W6+jL>&FMnkiW25AOeCA!1s@Wkg1;M%=y>N z<;Y*v;|VOaCLoYj6O61wHZu9^@CxLwI^=$=>dzv;>@Yv8kLjxv0j4_+uSEW;Qh+hD zT7>}af3eG*O#V8s3i*p&9ztu_gaDpjWs^55|NqBbtC7FhVLud_~5ctL>W6+jL=O>m0A%9`BKm-IKP$Woz&#MIi=Khy|F!EQmI06f;5eVS_ z?_igknEd4%g8aoU51}<|Lf|Evj6qu}tskvJk-xB6AOeCA5Md7Zf)e8M{{#W1J8ah= zfBh%GV<9yX0X+Z3F1IoHYwB9$FLrqdtzi=aU)W>}+EQu#ICdTK7d8t-Ko9~S1PSnY zwIINpf9b79{;C#7V4*bv0sQ-4>~a&6zw|dCf3eF$XbqbX!1EJq@F!GKZXE)|M8DO`%4)!`Ro1`oPYfikf>BA5D;T_m^x8w_EwVVj>i$mU+nc3T2|c% zWLCEUSbhZrnEZ8hEAm$bfba$p;6osl?;0jY7rQ)! z*02eIr))9?ZK?GAN4uTKU)U@V0YM1h_qPQhQ$5d_^RKZ{$Y0gt2`sfHAb@}Wo?TvI z^4IuX$Y1R85L&|~1irG#7__C*`q6YZ@)tG>L_iP%xc?;xnd*7YoPTxPgZx!Jp1@LT z0s`4J!N@vfBa^>c?M42oL+;0_{wxB_4)e46n7&F8V7jB#KIE?|1sF4{RS4kz7rWfa zBY&~WLud_~5WxK}HhH7+|L^#S{KYN@p*5^RAd6MjpfSw(SJDBTe_^XY1Oy>a zB1nMGs|5ije?2*f{8cTEz(Q*T0tGd~%DQ7DlfUjBLjI~d-p88$ECNYCtAOeMC<09W zI&c{I>yHACnb&9p@cb9M+{fgvh$F~f?D7y=!zKg@*<=jbQtA6c8;>G?VY5I41R;Qb ze^n4N)$^P=|5|kn`Kx+7fu+_21U}XTBkPcjO#bpbj{H@J+>cfLNd!uNGCd~$vj{Nx z%i{#{*PlfkbFaw=Ab+vTdrbavKZ*RsE)StKY(k)jO~#-tmGS~Cz}c9@!Bb*;6M>5eI9kiTlJv$0~ojR1cC@wXwY(hQjV zHSsL+SCs;cnbj%;@@rLXYJO#y{AC`E{8jV4iZ%FC2)zAM8DqY`gaDJj`kq7n`XwMy zsZJn(=O@_ZW+s32i9!Bimxs_AHX%^VCS%Z+O6Mnf#v*@Vvp@s{A%N$<1R+yB&zbWt z&GX1#)#C{)wI(2tRuhb@LpCz`OEwPqs}8vztNN1&2s1m(PwHdxszre5j%F8-zp55t z%&j&dfa^zgd6UUsG8d7**ySO#hD`|I`7btkqw@bxlemQZ#V!w_HEcp4k4?s)EtTFs zmLh*)t3U(mraOeM;QZ^qz#Yq|nF!$bAKB$MCVzcH{$iJd&>B`D zfPep~`(J{Psh;P|_2a_? z8dfEdqG{t7`H5-Q1Y` zWqt?w>vu6l{o0Fw7_-CF-m2D!nlarmHWB%&MmP?QtQG`t|EpSH7g#8hzYOmpe+dK& z1$7>Q^g53Ky8vMFSGRk}U+nS_TEiv;a@b@H+EVHJkL~Uwe_^vg1Oy_$9PkAuM8SW7 z0Mi}q9w2}H7r0{?H4}l1nrU{ewVKIaO&=nE)mmp`#eN%sXTO~TW>A#~F!?J3`Kv17 z#k^`60@<~!J~h2MO#VuJg!8YO?o+h?&mn++|Lf0T`ztv!`RnCl-2W1UO!Yix&c7m`A%9hm zC$Q9-fIwkQFtQHW$mFlhNyuMy$o*K=pF|-4C(~o{KZ^j9zt%oS{`#|sW9~H>0X+Z3 zF7GkM&R$g?|_UJpc8>Q2i$fnfz7! z7WwNx0Uisfkq8vkNULkF(MlKvmzn(a zFdg}eT^>Sf*n|M?f3e9MmCt`ge?tCZmxs_AHX(rXFE)9jGJl=UK>lKvhtL`}A%N#6 z*yN4M{B5lc;$X~VB+gP*TMWFb1GeG?+MS#g)p*hH3RSGa>R;v)e z{V#U8lgVEzbCJK;Sf*n~hTn~XtQ zD(!#i6d-?Lvp@s{At1_Jun0Q{>$SSTV;6A%z%c9@!AbS<`#>5e#Iu*uyuUg<%tim5c0KdQehk*UX zY?=HuPYn6%7okM8I)DKF{V#SonaN+C^^m{VSf*n~hmW`|*uadprZraSsHK>n(O%>b+Xg9z9$JIoL2VX{Ai0Mi|!w3xDQ zL5kD+W{kKKy)TPBgg-sfm>w!DcQxzL+YJj$!ed%WHz?d@6_;JVUc(D}BOkS7IHvIW-T?~^Mh|x!7VLUGv)8fMz*P;WOEikVa$Hll|9*eb zWu9u%BNiO+7rkaWK`!F3_3JCgXDZy$+2$`ip~bP;xpp7IcTVl`7u}c# zW$lG0pE4njqwa$axa#IbHm|=+9Tbz*Ak_j$6>I=mJ$(34ZDE&37laD@nm6h&?U<%+ z$pN^qm}#}}%2>75caqNO9q6h1@l^9h(@kesExa`xo_T|e70`RlIHcN_j?G| zH3sWK?&mhwbsr`rI_ee4algNCVa|l!%AQ;Oh40>mi)W|Dg8@FHq{L-+Kwh^Y)9fI~ zAo|e-;hPqafve^6Ngo$}m4{kwfGR%+5Jsqh4ava(G2qSx z;mZ>tQR!Cjf%kUj{lYDy0Qj6Ekn3||mK_0Ym%r$l;|}wrBCdhSPWn=!xpt7q*;Gn2 z(g`lU4hQ(>*H2l$WQ$)TIiIMO&FhZ~@9c9)-~!^z#ohP!2Q*9Hy2N5-qjSM&rE0?QhRECy#ph zEu{HVjlA6A0>@U1Mt{+^S07WF_r;>w?SMj&WU3#T=>)8_he;bUo*{Sv3C7w=wpe#`wG z5uYD55qtPjHcz?vl7^zkj0)aPbUqaRL~*BAgO}No)32?QSn}RAD=nv?$g%j`izm}k zUr+CB)?au|fozZ0L&Yx6EhtPUGNY{b6P-VQbLjlkOZmB1rwE7sGSc^)tu1CeP0?G} z{K+Tpp^ZKloGj3t)W4oV|7J4MNApf~jaOcvfNQVPhLN>TSP!WRFG6@yCYW{Tx_vo<788pmXEH@>i;Hv_251M zPiGZQH1hxGBEBdrAkg}S?h!QwzezfN={lntm*juBs5`)CjZ{hqr$p{rba*@C0WoW& z@*rB$ZTC^Jf(65xE&pU3?6X30NAl2MpYpqY&xZ!8ibyCg6#D01Ns{TRSF|5eh{>^6LrJYOp1C6pX& z5d<}Re6HaIO<4o0rr!)L#T%?wnRrNaqD{c8xJI(+=bNYNnzfc}sXb2C^O|vv>=TVM zg?si!=9X+4FlBX7XyJ=<8(s~(RU~tyWUx{H-nZ`ERtRH_s zQrUByxP<3&nIq4|0=*0+JfGJO9ClVnrAR{MllHyko4xJMjQ-X>_-lByd4a5Pk;#)z z3q&DG-tDz4(mQI_npodRZ`I6E{SEHMn4frAf7-Vcy-2q<_9?rY*)%pTYSiX{#m=j<7`r!07DIi%p6o5jhKqdN|tZ!tXU?xq0O zMJh_40>gZay-iOl7EK(i6p)M1 z^)BAS5r3oLU~M2IEGDDN`{f(kAX+%BhwWe<0wP@jf!7}Xxw-^^7Jz}Ik>6Y{5Oeh; z8W~QA3>h;)B>JWM)S_8Kw`T@-Eo$BBq<5Da>X{{XUX8eQ@oxJ4(MIiN=43@BghuXo z_igZj_Vx6qboNVXRF9L{Og|&49%oB4{mpjuIFE8fRGi>Rr%~dC!}mPiJ^I)NpQcTg zE%#|^R<8xeI94*^g0=BoC;dICi#YGKghzRFF)kc#)NE29r=jT5xVlL5oSX{&&(?$2=sWOH=X-;?bepRoo|td7J86k)sNKrF!W%V zL5UaZw>~94L3x|_8Re}a?s~#DVq5@P$S%~7lXUvfEc@@ww7D`KxlKyVcHaK>@u};M zNmu6|y);@vwed zrABR6w-QZQcQM{-rm}IS-yQS&_d}8;dygNha!=dEpkntWy;;oITlWJ*oA&Jud>?*# zTgC26dh?>l{>q#9iRyC;5v9!bmeQmLpCvVe7X2nsw4d@I(LvChGZr-oChCr(l2M8g*tyq3G3MZTEV-4ilvQqKU?A%pR`kI$;A+@ z`F;I#G^9BxjZ`#N`lg-eDdFiZ;W?qDQA}%nx6YyoZVocpZ)AdFy2rdrbiXq30kqN> zbN6M?fK!(4|Deq=PT8$}d2euJ=A|)T6d<}E{&KYOUH7S-KLyH{x^sfV;h9Z6SCime zg{3x8ocG$}^}<6q-h1bSNGG@eEPM>=*+i%-dAgvqq`upFo>_B{ZQxa-?Ijg6S ztMZA|n@!T=7WaGX-*0*|7)`#W#wpHStTRIHf>fXNzNJ$xG-~RWJyhagXv*=Dr^(HC zO!^Qb|LX3hB3tOeuJNt`k%~LdDfTU_A0we~PqAxZ3(|w_gLR!BaOAQ#TE#!_;hWa) zV&K*BA_-%csNBvG3l5VWxhT53rp0}Wd^_ln#v6FOGB_>#@zsOSTVI7;4u`&ZslU(Y z;53DlE*YVmvi_Q@)t1|5WBUK!?*27F`%FM*{$Z(jVroO>8@87#^x)UIx`vXx9z1M_ zenVbU=A>G3#`GOOr3vZ4pPsBWOlfER=FuB#FVcZM-_7ax*2>=PgKFf|H6{5U$2Blt zG`F00b;><(kglP#DZ^2tK2>+7W~n3QQ%2w6?gePq9yI8q>t)&%_P=7 zD@3kjr@>yg!NIv<8_lk7fG(&u;kb5iWXk=}3AdnI+b8aM9>gixxwD5)`?E*xIbB&< zJa%cKQ}j@;VCce*Z!L_V3r~I-0*Z6AOZ9_uTV*!c0(u3>CQH&QwDSQX8XwiH4w71* zYq)5Hod1i?-`X`#PZc|nkt%y;@x;dyCLUTm@s#MqJJ-}qvgL=y$eDQAtNSeqiF%>- zI;XGS)#oQdi}I6hWZk`WwRd*$@}NS?e$Ngz{@~!kTG4*tI> z#4F4-ikF{nRhn!WP~L+LMp~aArPojk_-aKAhC8d{2vU1am9Ws}vX zObj3TU-OAr)mm=>pI(aD!xap%T$Vhv#Q>HFNZhH=r zp?2aLcV+vOj@l2#1|7@1zyGoChEjK#r6!zD+9UODso1CJar%N_P`y3@k>27#?*`qC zY1%BUb#Uop_k6bsqi~1M_16!x+|FyjT*`XoF*oYJmrXb>6V

OEL%wjuuj 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 bo*+ zQ2^co%}t|pWs=qb=uSRZ2~)>cV?sW-Eo%%Y$NjPPCCgT9{0-!j7XCKu?^Ut(vD~6u z!P{ZcM2oi$!`_ZNAjbBi)V#04((pSY*sN*9zr~a-Lw;IgJpAj}?Zrp$m^5yP(h460 zmu~jzkTyMLaJ)hK3~FR@6O=a#6l5WnZnf!3M<#Aq={{Nqv*Arw#KD(asn%ixCHpsD zn5?S0RKzJ<9RbCuU3MI7Lt)>Z%{2N4}dZUFEpp=CvZ|lXB_VP}UBV^7&gUhSL zj(6#ejE3JLSucSMN@Cs8X=RZ-1*`tOr(nFqqf4>)?C>_*Ewt0Y`7Au$&8`2&Q-GWm zfAthx{V#b6aHWR2fAJJ-q%q%{WR8ijm(~e%LIw0E1#SX{^)`jaPU>AGF8UV#&4+-C zzVfeJbVr?n$e+i;42Fs#gx-~|<=Oneeh2Qvobfp`SP5EnTiL-%kQ-4QJ6VNDo&v&G zX+pjXR><3_p$J3G_am(G{o4hhGR1Puau90?Hi6qP4Tc6?B*tGIqXlSdtlO5K(itAT zULj;>k^kVZY{_4^=xkK{aXJ=VsBo7yVLU&mv1!#)QeuEkDp1J4WB5777}j!nATm}} z8hgbp@8jrhp}o_-?iSgtZsN@&#gRyk%taVIr{()FW%gy?(@uP3$It*!1K?4l6kN2Q zy1KSa0PQ)Q0e!LyH0IZ8eY~=>Dp5mgrf&4so=zU8515p;RUGR|=bi+Wxo_t1Dx|{Y zJo?NTxK>T>;iy#|_TVg04K;)|8~?Zi-FXk;7_c?sZE2rDb1!n&V z=ey-r&43e-zCD$m3M~!%j|UR74JgkbHmO}i4+Tt}t=mr; z&9jk2aj9CIDQH0shqg^>4>~^Y%gR3UKC@o3eFb!<(S|ap!4&jJ z8_JxJdB@U%P$2-#I1GRsY+u=M;1(YW7y?P75J(!&prGDIQ5I5ZhyB>4n@iJX( zd*y?>VrsB-60be z7$DpNUdSKU;2>%!5-s4JNoDsMUVd%Y6}7-C#kXzRmd`r`(#z;e+-;FW`Lm!CwG2D$ zzUBk>G@0;xB0ZGn11`Iyj7EQXk@_v^rr1VFNe0%9cPi_yCS{ARl?y5rc+!MPzyXKy<0jK?tpWeL z-^xsx!)dF26c6q*J@XT{aOmT~VXyELpWnMB7*ygjWevWMefOQjFD4ndCHFRs8G@?NzaU`?CQ%{1?Ng;LqGBXi%XB81L3{ZkyKj)(qZ2nxGfSUzkT} zs}xx{6b&~~1yEKp(gYg#KNqkUmFA9-(_*2LYoZAXcH1)Q6QZK`@!?_-KFs3odxDEn z?(~zz*%D9F#kuW^9gBhIj`X_U67qO1?pQxU9YmmakhZ$3!y+%t!r{?uC8ER0f>U|5 zPpg#qk94KisrL+6B-T5X)okmq{G{*9{WR&P}+JwI1m+*6Z3{K 0} { + add_wave / + set_property needs_save false [current_wave_config] + } else { + send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." + } +} + +run all diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_edge_behav.wdb b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_edge_behav.wdb new file mode 100644 index 0000000000000000000000000000000000000000..83efe5284d52f51c3a2afb1fb4b89318ab903e68 GIT binary patch literal 19872 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 NvqOE+Dpn`J{{e>jY4-pC literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_edge_vhdl.prj b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_edge_vhdl.prj new file mode 100644 index 0000000..72f258c --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_edge_vhdl.prj @@ -0,0 +1,7 @@ +# compile vhdl design source files +vhdl xil_defaultlib \ +"../../../../progetto_reti_logiche.srcs/sources_1/new/progetto_reti_logiche.vhd" \ +"../../../../progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd" \ + +# Do not sort compile order +nosort diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_timing.tcl b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_timing.tcl new file mode 100644 index 0000000..1094e45 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_timing.tcl @@ -0,0 +1,11 @@ +set curr_wave [current_wave_config] +if { [string length $curr_wave] == 0 } { + if { [llength [get_objects]] > 0} { + add_wave / + set_property needs_save false [current_wave_config] + } else { + send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." + } +} + +run 1000ns diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_timing_behav.wdb b/progetto_reti_logiche.sim/sim_1/behav/xsim/project_tb_timing_behav.wdb new file mode 100644 index 0000000000000000000000000000000000000000..fc4bb917c9f7997b3dfbdc3b7d7a750c337af038 GIT binary patch literal 15322 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 va in coda agli uguali +Time: 10450 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 1.4 OK: insert con tutti uguale prio -> sempre in fondo +Time: 12950 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 1.5 OK: insert con ID duplicato ignorato +Time: 15330 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 2: Rimozione === +Time: 15330 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 2.0 OK: rimozione da lista vuota -> o_task_id=0 +Time: 16990 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 2.1 OK: rimozione unico task -> lista vuota, task_id corretto +Time: 18930 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 2.2 OK: rimozione con prio uguali -> FIFO rispettato +Time: 21430 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 3: Decremento priorità === +Time: 21430 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 3.0 OK: decremento su lista vuota +Time: 23130 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 3.1 OK: saturazione a priorità 3 +Time: 25350 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 3.2 OK: tutti a prio 3 -> nessuna modifica +Time: 27870 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 3.3 OK: ex-prio2 vengono prima di ex-prio3 (no riordino) +Time: 30730 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 4: Svuota lista === +Time: 30730 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 4.0 OK: svuota lista popolata +Time: 33050 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 4.1 OK: svuota lista già vuota +Time: 34730 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 4.2 OK: svuota poi rimozione -> o_task_id=0 +Time: 36690 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 4.3 OK: svuota poi decrementa -> nessun effetto +Time: 38690 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 5: Sequenze composite === +Time: 38690 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 5.0 OK: insert->dec->remove, ID estratto corretto +Time: 41490 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 5.1 OK: ordinamento completo con priorità miste +Time: 44730 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 6: Rimozione multipla e ordinamento === +Time: 44730 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 6.0 OK: rimozioni multiple consecutive fino a lista vuota +Time: 48310 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 6.1 OK: rimozione da lista con prio miste -> sempre posizione 1 +Time: 50750 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 7: Decremento ripetuto === +Time: 50750 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 7.0 OK: saturazione progressiva 0->1->2->3->3->3 +Time: 53430 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 7.0b OK: decremento ripetuto su prio miste, saturazione indipendente +Time: 57010 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 7.1 OK: decremento su lista con un solo task +Time: 59330 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 7.2 OK: decrementa -> svuota -> rimozione su vuota +Time: 61730 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 8: Insert dopo rimozione e casi limite === +Time: 61730 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 8.0 OK: insert dopo rimozione parziale, ordinamento corretto +Time: 64950 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 8.1 OK: insert prio=0 in lista tutto-prio=0, FIFO rispettato +Time: 67830 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 8.2 OK: insert prio=3 in lista tutto-prio=3, FIFO rispettato +Time: 70710 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 9: o_task_id per OP diverso da 01 === +Time: 70710 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 9.0 OK: OP=10 -> o_task_id=0 quando DONE=1 +Time: 72490 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 9.1 OK: OP=00 -> o_task_id=0 quando DONE=1 +Time: 74450 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 9.2 OK: OP=11 -> o_task_id=0 quando DONE=1 +Time: 76330 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 9.3 OK: OP=01 lista vuota -> o_task_id=0 quando DONE=1 +Time: 77990 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 10: Protocollo, reset avanzato, stress === +Time: 77990 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 10.0 OK: operazione immediata dopo DONE->0 post-reset +Time: 79750 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 10.1 OK: stress test completo (insert/dec/remove/re-insert) +Time: 92030 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 10.2 OK: reset dopo svuota, modulo correttamente reinizializzato +Time: 94630 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 11: Insert con ID=0 === +Time: 94630 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 11.0 OK: insert ID=0 su lista vuota ignorato +Time: 96290 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 11.1 OK: insert ID=0 su lista popolata ignorato +Time: 98430 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 12: Capacita' massima 63 task === +Time: 98430 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 12.0 OK: 63 task inseriti, memoria completa verificata +Time: 231450 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 12.1 OK: inserimenti oltre il 63esimo tutti ignorati +Time: 235970 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 12.2 OK: drain di 63 task nell'ordine atteso +Time: 363310 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 13: Stale memory e duplicati ai bordi === +Time: 363310 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 13.0 OK: re-insert di ID appena rimosso +Time: 365710 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 13.1 OK: duplicato in prima posizione ignorato +Time: 368130 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 13.2 OK: duplicato in ultima posizione ignorato +Time: 368250 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 13.3 OK: re-insert stesso ID dopo clear +Time: 370330 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 14: Reset asincrono avanzato === +Time: 370330 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 14.0 OK: reset a meta' shift di OP=01 +Time: 373150 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 14.1 OK: reset durante la scrittura del count +Time: 375930 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 14.2 OK: reset durante OP=00 +Time: 378470 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 14.3 OK: reset mentre DONE=1 +Time: 380550 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 14.4 OK: reset corto non allineato +Time: 382970 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 15: START lento dopo DONE=1 === +Time: 382970 ns Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 15.0 OK: nessun doppio pop con START lento +Time: 385480 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 15.1 OK: nessun doppio age con START lento +Time: 387740 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 15.2 OK: insert con START tenuto 2 cicli extra +Time: 389840 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Failure: ====================================== + Tutti i test edge case sono PASSATI +====================================== +Time: 389840 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +$finish called at time : 389840 ns : File "/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd" Line 1616 +INFO: xsimkernel Simulation Memory Usage: 291592 KB (Peak: 337672 KB), Simulation CPU Usage: 710 ms diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/simulate.sh b/progetto_reti_logiche.sim/sim_1/behav/xsim/simulate.sh new file mode 100755 index 0000000..113c34b --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/simulate.sh @@ -0,0 +1,26 @@ +#!/bin/bash -f +# **************************************************************************** +# Vivado (TM) v2025.2 (64-bit) +# +# Filename : simulate.sh +# Simulator : AMD Vivado Simulator +# Description : Script for simulating the design by launching the simulator +# +# Generated by Vivado on Fri Jun 12 15:55:46 CEST 2026 +# SW Build 6299465 on Fri Nov 14 12:34:56 MST 2025 +# +# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +# Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +# +# usage: simulate.sh +# +# **************************************************************************** +export SIM_VER_XSIM=2025.2 +export GCC_VER_XSIM=9.3.0 + +# catch pipeline exit status +set -Eeuo pipefail +# simulate design +echo "xsim project_tb_edge_behav -key {Behavioral:sim_1:Functional:project_tb_edge} -tclbatch project_tb_edge.tcl -view /home/aleandro/Projects/progetto_reti_logiche/project_tb_edge_behav1.wcfg -log simulate.log" +xsim project_tb_edge_behav -key {Behavioral:sim_1:Functional:project_tb_edge} -tclbatch project_tb_edge.tcl -view /home/aleandro/Projects/progetto_reti_logiche/project_tb_edge_behav1.wcfg -log simulate.log + diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xelab.pb b/progetto_reti_logiche.sim/sim_1/behav/xsim/xelab.pb new file mode 100644 index 0000000000000000000000000000000000000000..98e6892a92db9e35314c12a9cead968ca30bfb90 GIT binary patch literal 1688 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/obj/xsim_1.c b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/obj/xsim_1.c new file mode 100644 index 0000000..98f96bd --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/obj/xsim_1.c @@ -0,0 +1,110 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2020 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/**********************************************************************/ + +#if defined(_WIN32) + #include "stdio.h" + #define IKI_DLLESPEC __declspec(dllimport) +#else + #define IKI_DLLESPEC +#endif +#include "iki.h" +#include +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2020 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/**********************************************************************/ + +#if defined(_WIN32) + #include "stdio.h" + #define IKI_DLLESPEC __declspec(dllimport) +#else + #define IKI_DLLESPEC +#endif +#include "iki.h" +#include +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +typedef void (*funcp)(char *, char *); +extern int main(int, char**); +IKI_DLLESPEC extern void execute_26(char*, char *); +IKI_DLLESPEC extern void execute_27(char*, char *); +IKI_DLLESPEC extern void transaction_0(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void vhdl_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); +funcp funcTab[4] = {(funcp)execute_26, (funcp)execute_27, (funcp)transaction_0, (funcp)vhdl_transfunc_eventcallback}; +const int NumRelocateId= 4; + +void relocate(char *dp) +{ + iki_relocate(dp, "xsim.dir/project_reti_logiche_behav/xsim.reloc", (void **)funcTab, 4); + iki_vhdl_file_variable_register(dp + 9192); + iki_vhdl_file_variable_register(dp + 9248); + + + /*Populate the transaction function pointer field in the whole net structure */ +} + +void sensitize(char *dp) +{ + iki_sensitize(dp, "xsim.dir/project_reti_logiche_behav/xsim.reloc"); +} + +void simulate(char *dp) +{ + iki_schedule_processes_at_time_zero(dp, "xsim.dir/project_reti_logiche_behav/xsim.reloc"); + // Initialize Verilog nets in mixed simulation, for the cases when the value at time 0 should be propagated from the mixed language Vhdl net + iki_execute_processes(); + + // Schedule resolution functions for the multiply driven Verilog nets that have strength + // Schedule transaction functions for the singly driven Verilog nets that have strength + +} +#include "iki_bridge.h" +void relocate(char *); + +void sensitize(char *); + +void simulate(char *); + +extern SYSTEMCLIB_IMP_DLLSPEC void local_register_implicit_channel(int, char*); +extern SYSTEMCLIB_IMP_DLLSPEC int xsim_argc_copy ; +extern SYSTEMCLIB_IMP_DLLSPEC char** xsim_argv_copy ; + +int main(int argc, char **argv) +{ + iki_heap_initialize("ms", "isimmm", 0, 2147483648) ; + iki_set_xsimdir_location_if_remapped(argc, argv) ; + iki_set_sv_type_file_path_name("xsim.dir/project_reti_logiche_behav/xsim.svtype"); + iki_set_crvs_dump_file_path_name("xsim.dir/project_reti_logiche_behav/xsim.crvsdump"); + void* design_handle = iki_create_design("xsim.dir/project_reti_logiche_behav/xsim.mem", (void *)relocate, (void *)sensitize, (void *)simulate, (void*)0, 0, isimBridge_getWdbWriter(), 0, argc, argv); + iki_set_rc_trial_count(100); + (void) design_handle; + return iki_simulate_design(); +} diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/obj/xsim_1.lnx64.o b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/obj/xsim_1.lnx64.o new file mode 100644 index 0000000000000000000000000000000000000000..86cadfd7417d099334d8d3e08e32926c9d306cc6 GIT binary patch literal 4224 zcmb`JO^6&t6vt~O*<_7z+>KwW@nggwt7vC-G;tLTGn-^H#w7{aT@sAa>FufA>129l z?Cu#i0g19At|1_LNYI0N(2F2B8go!c1atD{O#}~;gNPmiLWKDK)%A93D>JZ&531|c zuikt0)%~hZ?VcFVW-@{$BX)@87E`J>F6$+wmc%A8C?+e5*DtIkP&s`UaOKQ4R992| z;?+l%_52pCAGuUn_`QFH<-+Cun_wCPJ=2qLSiD|Yymo;CzxhoXU5!*Z^8#9_@!}tg zzv!V2YFMbw>B(c_KpBxl`D;8Yr*BKEbP1<#4!m$V|813Qlz%z`P3*|4m*(RjbgDtL zwG}mwNk4HTnFMaVIT!df>CVWS*V(FUB3Wx z7{6N?t9>W+K{6)~ip=~#X7k4N{qK|U5V8AJj}Y5YmvaLP*(BFbDtt!4NYu&g$_*T# z9`FN-3UME5;?u-oThshw)D-KTY&kcyux3{-pWT}qF6RnkxzTd2^ja=InH!@1vKmP{ zb*ZqPwc@WEUAn}YrPVI?Zcr+AWu@G%n(J0VYNh+KPOP_j?p5tRQLy-fnjf_|eTO7{ z;+)0zQhSpzPqoLyhN%o#wrK94GAOY7spNG%PIWi?$sYW5;ux35Q|CvFUcs($-qQ9j zQ4LY&O7(kGx{do)4}O_A#+6h<)O$en6)N50{M>_Q>EOHBKiq?l_24h};PoDSp$9)p ze9(AH_&ff*hyD2;{9+G&r3Y7u#vO5d;Y{o-;4y+n5s#Kwz&TcU!-D;bRDI5DTj%Dn6iJJtWbWh5tsa)l}^xKJHB0?`{sIHpyT5iyw zz+N4(F|Al8E|MwbcuMOu!Jyf2gIStR=(Sq1x?~i0Tx9HY)-5loxeYH|j)DB_B0=9| zK*7hNpgJerIhh=)&K!yYUZx*OTAEvxaWI!o5z~o$H=#|byMD9XNYV-DU0~CF?eL)9 z&ljtLmt5SwtUe=>$ZN!&uNG7gYR47Ap}4Xm8;S4L>ocBzoW23R{vRj(Rx1D8NaYUF zAz3PGs4z#~hTuJfFY_&cB;dGonHK;_Y_6_x;&%KoWu4k1cXFJAn%nk=4EsUD{uP67 zGWZ*sBM#=o@!vK$vN-ca&0&k2&HO`yBgZlSNOQzT)@S~S=7@8*!N1TP_P7h!{!7ha ze~-b>8ysiB_CIKjb431P{-eQj2LH+6w-_9G5rX;PHsCnF0+L`pxTBc=2}lBt+|B$N zAPM+pD$Kzkly<}eN=qMn^MI#!UCOZ*2>3%vOCS6mg69p+I_8hU^1N1<^ZhhsalVJ@ z7Uz3KIPr-vq15KYNtD(#)+p0?P9oSG%3x zIX&^C)DOY=VePzrKEGLF7{5TpluP;?`ap+tjr@rGZTo}S gXHQ6!^auT$wP9A1{yDq*AI47t$!BS`^tAo|1#I7vcK`qY literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.dbg b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.dbg new file mode 100644 index 0000000000000000000000000000000000000000..fead99f9eba847d2f2a29125f37ae3e977ea9914 GIT binary patch literal 5544 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 BbEE(O literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.svtype b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.svtype new file mode 100644 index 0000000000000000000000000000000000000000..6dc1deb65a85fafe2dcea36f677983510a180e28 GIT binary patch literal 16 Kcmd;KKm`B*&;Shp literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.type b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsim.type new file mode 100644 index 0000000000000000000000000000000000000000..ae5aab543bd5afc066e96aa8718f29ac6b67201a GIT binary patch literal 7632 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsimkernel.log b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsimkernel.log new file mode 100644 index 0000000..ebacc77 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_reti_logiche_behav/xsimkernel.log @@ -0,0 +1,7 @@ +Running: xsim.dir/project_reti_logiche_behav/xsimk -simmode gui -wdb project_reti_logiche_behav.wdb -simrunnum 0 -socket 60931 +Design successfully loaded +Design Loading Memory Usage: 196484 KB (Peak: 196604 KB) +Design Loading CPU Usage: 750 ms +Simulation completed +Simulation Memory Usage: 278220 KB (Peak: 335752 KB) +Simulation CPU Usage: 770 ms diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/Compile_Options.txt b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/Compile_Options.txt new file mode 100644 index 0000000..f100233 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/Compile_Options.txt @@ -0,0 +1 @@ +--incr --debug "typical" --relax --mt "8" -L "xil_defaultlib" -L "secureip" --snapshot "project_tb_behav" "xil_defaultlib.project_tb" -log "elaborate.log" diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/TempBreakPointFile.txt b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/TempBreakPointFile.txt new file mode 100644 index 0000000..fdbc612 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/TempBreakPointFile.txt @@ -0,0 +1 @@ +Breakpoint File Version 1.0 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/obj/xsim_0.lnx64.o b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/obj/xsim_0.lnx64.o new file mode 100644 index 0000000000000000000000000000000000000000..82742bd7c6cf92a1f2762db199788ce4320f7777 GIT binary patch literal 35624 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 LT=~Mr&;I`gKfLJ3 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/obj/xsim_1.c b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/obj/xsim_1.c new file mode 100644 index 0000000..2bf8d8a --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/obj/xsim_1.c @@ -0,0 +1,115 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2020 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/**********************************************************************/ + +#if defined(_WIN32) + #include "stdio.h" + #define IKI_DLLESPEC __declspec(dllimport) +#else + #define IKI_DLLESPEC +#endif +#include "iki.h" +#include +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2020 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/**********************************************************************/ + +#if defined(_WIN32) + #include "stdio.h" + #define IKI_DLLESPEC __declspec(dllimport) +#else + #define IKI_DLLESPEC +#endif +#include "iki.h" +#include +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +typedef void (*funcp)(char *, char *); +extern int main(int, char**); +IKI_DLLESPEC extern void execute_36(char*, char *); +IKI_DLLESPEC extern void execute_37(char*, char *); +IKI_DLLESPEC extern void execute_38(char*, char *); +IKI_DLLESPEC extern void execute_39(char*, char *); +IKI_DLLESPEC extern void execute_34(char*, char *); +IKI_DLLESPEC extern void execute_35(char*, char *); +IKI_DLLESPEC extern void transaction_0(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_3(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void vhdl_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); +funcp funcTab[9] = {(funcp)execute_36, (funcp)execute_37, (funcp)execute_38, (funcp)execute_39, (funcp)execute_34, (funcp)execute_35, (funcp)transaction_0, (funcp)transaction_3, (funcp)vhdl_transfunc_eventcallback}; +const int NumRelocateId= 9; + +void relocate(char *dp) +{ + iki_relocate(dp, "xsim.dir/project_tb_behav/xsim.reloc", (void **)funcTab, 9); + iki_vhdl_file_variable_register(dp + 562288); + iki_vhdl_file_variable_register(dp + 562344); + + + /*Populate the transaction function pointer field in the whole net structure */ +} + +void sensitize(char *dp) +{ + iki_sensitize(dp, "xsim.dir/project_tb_behav/xsim.reloc"); +} + +void simulate(char *dp) +{ + iki_schedule_processes_at_time_zero(dp, "xsim.dir/project_tb_behav/xsim.reloc"); + // Initialize Verilog nets in mixed simulation, for the cases when the value at time 0 should be propagated from the mixed language Vhdl net + iki_execute_processes(); + + // Schedule resolution functions for the multiply driven Verilog nets that have strength + // Schedule transaction functions for the singly driven Verilog nets that have strength + +} +#include "iki_bridge.h" +void relocate(char *); + +void sensitize(char *); + +void simulate(char *); + +extern SYSTEMCLIB_IMP_DLLSPEC void local_register_implicit_channel(int, char*); +extern SYSTEMCLIB_IMP_DLLSPEC int xsim_argc_copy ; +extern SYSTEMCLIB_IMP_DLLSPEC char** xsim_argv_copy ; + +int main(int argc, char **argv) +{ + iki_heap_initialize("ms", "isimmm", 0, 2147483648) ; + iki_set_xsimdir_location_if_remapped(argc, argv) ; + iki_set_sv_type_file_path_name("xsim.dir/project_tb_behav/xsim.svtype"); + iki_set_crvs_dump_file_path_name("xsim.dir/project_tb_behav/xsim.crvsdump"); + void* design_handle = iki_create_design("xsim.dir/project_tb_behav/xsim.mem", (void *)relocate, (void *)sensitize, (void *)simulate, (void*)0, 0, isimBridge_getWdbWriter(), 0, argc, argv); + iki_set_rc_trial_count(100); + (void) design_handle; + return iki_simulate_design(); +} diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/obj/xsim_1.lnx64.o b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/obj/xsim_1.lnx64.o new file mode 100644 index 0000000000000000000000000000000000000000..5b60d60e4f1f81d7ce4ed53082accd1f102ccf6c GIT binary patch literal 4520 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.reloc b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.reloc new file mode 100644 index 0000000000000000000000000000000000000000..8fe29bae0518514a027677219a1ed4092092ba12 GIT binary patch literal 1098 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.version b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.version new file mode 100644 index 0000000..6327f31 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.version @@ -0,0 +1 @@ +hjhoth \ No newline at end of file diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.xdbg b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsim.xdbg new file mode 100644 index 0000000000000000000000000000000000000000..f108f6b8e62aed2fe119ce2622ea6b1aaed2502f GIT binary patch literal 6064 zcmb7`J8M-@5QR^CzqJr-Q&@u zuG`q2(^>ZKE1!P;XSP18G*8u4^Ve*dr{>0de1@v6W}@|5E%0}-=i2kO{)-0~Ma*Z!|8e{K1jo@>vyJ=Z=fJ=ZPGc5axgi|f)%mOo9_e?Mu-JME?!&$#x4 zuYQoS%wHBfkc17ayS&_JODH7k&m?H6=jVTguXnOg47Cvt6Kk=&m z$Vk2Os{YhSy>sU0{W)iTi8H^%nP1}cukUd_mfvrkU*hziIQ=J1|A}jzsQQyGMXKN3 zm?CkVD@Eda8&f2%cZMSI{f#LS*Ly~h_`${$iR;~@Nc?bPio_e5UjBSN8+rbnarLc89RCx?|HQRUaK2n0{-=8UPaOXf$N$9fKXLp|9RCxan%`%P{*{sE-#PyK z`Eri`iQ|9bS|_Uh@ITe#f8yx(`K*qdf9L2=_2^F={fVPJar7sS{>0I*KA7*1cU%Ae zCyxHa(Vw{1iR$m8Kh>i@ar7sSem@@@cK$0qDY(yfu=7K`^Nr&7mvo?it@!=seA76; z&l1O<#PKI_yh$8?60h{H6#C^8`hR_yoxiGn-sX#bpRaTDCyxHa(VsZ_6W3f6iE};^ z*E+#`TwnEma$dckoLBEB=hgekdG&sBUcH~3SMMk1`0wZA#MjyR!2iVYKXLp|9RCx? z|HSb>ajg^h>-z9M)#HES_@6lbCyxJ#d~J#`V&Wg z;`HzO7e@SZPXDQ%{u8JF#OXirs{cpUf5l&p@YNB%X1x0U?!20h^J+fMtNA#u=Ht9N e-_A8xg7fXXn&0M#e&>~b=aqivm44@ye)wOfrcF5j literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimSettings.ini b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimSettings.ini new file mode 100644 index 0000000..12bac95 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimSettings.ini @@ -0,0 +1,50 @@ +[General] +ARRAY_DISPLAY_LIMIT=512 +RADIX=hex +TIME_UNIT=ns +TRACE_LIMIT=2147483647 +VHDL_ENTITY_SCOPE_FILTER=true +VHDL_PACKAGE_SCOPE_FILTER=false +VHDL_BLOCK_SCOPE_FILTER=true +VHDL_PROCESS_SCOPE_FILTER=false +VHDL_PROCEDURE_SCOPE_FILTER=false +VERILOG_MODULE_SCOPE_FILTER=true +VERILOG_PACKAGE_SCOPE_FILTER=false +VERILOG_BLOCK_SCOPE_FILTER=false +VERILOG_TASK_SCOPE_FILTER=false +VERILOG_PROCESS_SCOPE_FILTER=false +INPUT_OBJECT_FILTER=true +OUTPUT_OBJECT_FILTER=true +INOUT_OBJECT_FILTER=true +INTERNAL_OBJECT_FILTER=true +CONSTANT_OBJECT_FILTER=true +VARIABLE_OBJECT_FILTER=true +INPUT_PROTOINST_FILTER=true +OUTPUT_PROTOINST_FILTER=true +INOUT_PROTOINST_FILTER=true +INTERNAL_PROTOINST_FILTER=true +CONSTANT_PROTOINST_FILTER=true +VARIABLE_PROTOINST_FILTER=true +SCOPE_NAME_COLUMN_WIDTH=120 +SCOPE_DESIGN_UNIT_COLUMN_WIDTH=181 +SCOPE_BLOCK_TYPE_COLUMN_WIDTH=91 +OBJECT_NAME_COLUMN_WIDTH=75 +OBJECT_VALUE_COLUMN_WIDTH=75 +OBJECT_DATA_TYPE_COLUMN_WIDTH=75 +PROCESS_NAME_COLUMN_WIDTH=75 +PROCESS_TYPE_COLUMN_WIDTH=75 +FRAME_INDEX_COLUMN_WIDTH=75 +FRAME_NAME_COLUMN_WIDTH=75 +FRAME_FILE_NAME_COLUMN_WIDTH=75 +FRAME_LINE_NUM_COLUMN_WIDTH=75 +LOCAL_NAME_COLUMN_WIDTH=75 +LOCAL_VALUE_COLUMN_WIDTH=75 +LOCAL_DATA_TYPE_COLUMN_WIDTH=0 +PROTO_NAME_COLUMN_WIDTH=0 +PROTO_VALUE_COLUMN_WIDTH=0 +INPUT_LOCAL_FILTER=1 +OUTPUT_LOCAL_FILTER=1 +INOUT_LOCAL_FILTER=1 +INTERNAL_LOCAL_FILTER=1 +CONSTANT_LOCAL_FILTER=1 +VARIABLE_LOCAL_FILTER=1 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimcrash.log b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimcrash.log new file mode 100644 index 0000000..e69de29 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimk b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimk new file mode 100755 index 0000000000000000000000000000000000000000..e6aa17c5fae5906ef1d0d4034ef6290b370a7f6e GIT binary patch literal 40616 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimkernel.log b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimkernel.log new file mode 100644 index 0000000..5ffaa00 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_behav/xsimkernel.log @@ -0,0 +1,7 @@ +Running: xsim.dir/project_tb_behav/xsimk -simmode gui -wdb project_tb_behav.wdb -simrunnum 0 -socket 39125 +Design successfully loaded +Design Loading Memory Usage: 198324 KB (Peak: 198324 KB) +Design Loading CPU Usage: 690 ms +Simulation completed +Simulation Memory Usage: 291512 KB (Peak: 337592 KB) +Simulation CPU Usage: 700 ms diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/Compile_Options.txt b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/Compile_Options.txt new file mode 100644 index 0000000..e7c995c --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/Compile_Options.txt @@ -0,0 +1 @@ +--incr --debug "typical" --relax --mt "8" -L "xil_defaultlib" -L "secureip" --snapshot "project_tb_edge_behav" "xil_defaultlib.project_tb_edge" -log "elaborate.log" diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/TempBreakPointFile.txt b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/TempBreakPointFile.txt new file mode 100644 index 0000000..fdbc612 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/TempBreakPointFile.txt @@ -0,0 +1 @@ +Breakpoint File Version 1.0 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/obj/xsim_0.lnx64.o b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/obj/xsim_0.lnx64.o new file mode 100644 index 0000000000000000000000000000000000000000..f2ccf1337ad46e973f0a1a3ffb88ce9db32bd1ed GIT binary patch literal 197224 zcmdSC3!GI`8$UkP#JElf;q|`ZAaW_!A~ZFzk0zp!d*qUYsECqIr!zWsCy`4CxrZpC zrbefjI+NGs%{}+=zAlYWUS4u*{@>?WYwff4;NcRoR#3DX{yV#h7dwenI-B&I7FSxdR4PlrI># zeM!GozxOI%(0=#H0|s?pIci&b!0=Y9fTw)!OXYL_*?r~srz&pR48VYT|@rb(^3#@m%l?$xVq+O**QiADO~()ufS{+lLsiycps zR$x-?-zkp3`$OXK^zU}B!F{^^lv=igL|GnRQ{QVS=`Y=DczW1~`d*{Bv5whKSH?=M zwD=xRugFrDm9DqaUkg3hV+Z$1HT5Zv|6G;+nJ+=?V*pW={;n$hU%pbGoPbd@vNBye zi9hB~#z%c}io9;w3}U5|x8Vv})Q#3meAs*~ot#GB?OFKCy0mBD8$`Wt;{*7jaXW3A zJ)NMS5gwzIa>F>wzO=tRcBnmaxIJK$ZPSEIpZJn7EBq>3>U_E(KfT z2(~i)&;)$cCrL`+xGBe4EP)GVtfthm%JTU7v`xaRXZhd@#>^*$*C$C-G{&;Yc#^Zw z%-h6lv~0d6EyA9IE5ZsM#<%V(%WwV>pH-Pd@wa3e>$#RN+4ETw(`kC!CTn7<#aAet zbq3W@KdZfTV~@7iTv5JYS$s%obychNO%0fAggthQJ#w5qoj4N{uw{1cJqBaxVh$G5 zdhK!23XO-fS=*k52tl=SY}gidZwuZ={mq_E{E|Hr2g;tyr?!W{Ce%*GwUY8lx8g4X z;20+W+RxFIbdnTlC#jK6&ZF=4GW-?NtHHOm?d|Dwh32PzHUAC0y?od<^-BTJ*SrAA z7xW!Exr$6*prDDnuN?gdg8GQc^rb!PdspHL^gV>ko;5w>o(Z^OrQK$~F~IDV@f9-r zT(62&6kiel4l5Y{23U!2NX;ApH&$h?>)G|&u0Jg%53EWzF;hKSjYdj3E7l)Y*x&9u z=%&)L$&+H!Xi#QgtiK9yJ=%=km%z%p{-j3UR5H0TW)W1G1J$}``E4uKw(k0EdX1G> zPN>hMYyfX%|NIl_X>CMLn}YP%$M;MhZ`JpzBw^IhpX4vC$L-AD$SBjVH!XXkF}bnL zHUCTZssyMf;N;^CWIP$;g^Uq+GJTrT6UjmPbZtURDYw?8Cz8F^PbBZ8f9WSkzV#Dt z!(TFs^hAuU7XH>xBwyfuCoQ$hr={hd2=*kQtjP3fg+R6lUywWBUV259T}yM? zwIo1${&VzqI>#aZd<25|sJCMBew*fbwbCQVdG*N+a}9K*?W*Zovj;rgDg$ujq<5ge>63%ZC{^Ug{$+i{XZ-HM@9P8 zcxGmgp_?*4mFbt5UbyUzUNnB;MnW{&wxOvfiN-eExKT8A z<;G2-u@5&gqH!oUrin%cH>Qh5KW@wvjnlbtuV`Gzjr&C7N^aaQ8rO5YgVE}8CqACBho3LcL zzo%dN4=z0>ELq|2>_bugKNFVZ{9RR<=a+3FJl!4@Ygd{6wKCnv#u!g8w=yquol#!g}Xx-a_VqjhcN0?XJ3af@YFwi9m3dC+xa?#;ioqBbqFU&{r0<; zD&Y{Rb-oVa9I5~KI)tO7-t%<`r%Aoy>ktlky8Wdd$}$oGf*ZuR}Oo z>SkYuaK2R1*C8A+b&an>IA!WmUx#qe)VaP6;jF0vz7FBIspEVd!iiHy`Z|O|rw;UW z2VT)bYL!VZo`ReI3G@QwRAvgk`7p@^uI+PwnjM5Eh@> z+SehhKh@gTAv_`VlP~ZIuSk9E>kuB2`oz~Eye0LfuS0lFD(CAEUX)tw>kuB5dfL|^ zyesvfuS0lR>JDFr@VeAZz7FAmsqwxJ;f<-Qd>z6wQy2Lv^T$vN zy9(F}85JuNZbD>Zfyrnc?DgupIEVV9gIMvtK@nfWu&T3iNnR{Dh)jj__t#TxLb zCTguFD&vXT@kH%$f2FbvvrS*c*psWpq@Bd1H8g2Eo@`vK3(?gKM9NkWP*vs7&n)F=jAYQpV%3uZV$z)Ig!H@`b6s7zoy9^7O-F-R#tHxROrJ;F+FW zhMB4|4^5z%@Eh)O<1i~ zHZ{c4KgToUw^ftOLZ5BV#@`7&%G#8t-tJIRg8uDfKZpapClS3B>ElZ6R6l&JNN+0W zvR{a?j%>G%+N;SsVS#SjUGTSj;q3!xk|W!fl~1~I2flEMxPa>7N+1QqY0iZ);=<|9 zg&T;hWNs(gxJWFwpmfh#Bc8~$2A;-OVTquB_jvkkGVb+YjH$`7Bek|{@*OOQgf0NN zN1jut^h{usZX=Wk774%tiw$ZnjN*&9ni@g_?98S3h-0I%ES@fn32y+VE`-VPhCLY* z#CZ*mnZm?fl&*kON8(DlRj5$+l5BKCv`38XnaJ7@K6T8J(*eHTQ`ws&~IggvEsf`8N_i|A>xv`!}HT8^I@QT z;lQ#|*26{VQ%e!6(wk_e-q=l$aIBSnN6t)P5Cgp0J5CZ=73*f%i3AHaou-d;KSZoP zGBSB|k<3|*muOh~MXCCI!W~fN7fP{pF%R7yICVg8z=}{75GIyd| zxUC!S-;RZQMm+r<%U1|JK(A+VH|e{Zm01`ler6ur5wm{rFT+(Y>pZ6|nHHx8;_2hy zvgJV@t8RfOb7wWqBD&M>!O}05gds3mndhg&((GEHz97~uo|zL1G@k$eeD^CW{T&mee0Pe-nay@zXTnOzVK&Jlvj1X=IpPk2 zq>cPo2$e~#l($FOm(Lf5c|G?ClibR0lH&!B-hih&DJeX@v3XUD#U`vnrPbt6b3*PR+_`GvjaIp>f2tC*h=VNPj+O2Vo{w`go*=)!hXNM-%*m4~GEOaLoCaLB+SIPb2ZzK(6c;@i zXGIxL_!N2?7od8==~5~1+qc8yO^SNa{`qD0E3W)!LI`3-=#Ybj6@Df}@%l%l_5 zr3)$+V_aiQQ1mjsyD8eXv4ca=ztGDR$zc9m>2lY_D zz_Qtity#JWEGZ7m`kCxId58k;{4OAr<|#_k-hw@ETzmYTHW_~_Q3C+Pev(vI)y5{v zs>)0!v{suZNxW5=d)naxJKALy6g>?>XH8YqoChGX=8|C-Rtz|0*m)HvGqt!yg%uek zkumTWnM7!jj^&V8q&L1JRPqJJy2Hpeeyw~7ATjTsQl_>zjC=)p8h;uDE^UXPmrmZln(^>EeZ!beZh8 zYE;1-^IaaIfKjdkgfhyaNjp>!Vv!V(7Q)O=dRXI$l0T->V5UhUB4@~_+W9&?;zNDKIp_@&E>M0ERLk%jZnvHpg z0;*{Ogi;OY-3&;B9l3yDlDY0`xR7N@@i{IrL|DE)x3VnT5A7<9Z2_ z8CSN+V)Ecc^hZlY6zA{Y+GPAmJi9=?iBBctMT{yWq45Lc=s@u#a|0D~c2ZNaUUY1&uuftF?-e@CED!&_Fv$B^X5sKfbgb{;Gu)RYp{Y;Dfot&JC@!k@MAR zlb(s+q|7%URGPXN(4@4sL^nLE`j6fH0{)&UIj z(T8Rq0nWEvK@=5Fz(QBVacLU30 zNB8xu8&l$X2lw?I8ZX0jy3JQ{>Hys8`5~T7!qQMeI>g{y`B1y>2yt(P)^-T3;%;3o zX(1G~!i^&;TybZr3z|}eZYNIV_yhSc&Ox@M$kosiCbn?W^AXfKXrYx>&r|H1&Y%!3jLe#1+2YS zp>5l%@t1E=5+lKUs9R;pE^v6;?uNe>?f|O$i7T0mL2GF>#TIIc z4Ln5&GC8w6RA3I!i#(ueC%XU^EUOWd#R#98GUK;WIEM0w5o*M2F@jZ=nNKQHRBf$B z1dFvx8F)%3yU|CccDAsc4rsZ=TCOIU#b{^aue@nINDSN{2KJ9=Z!ixIp2k-$jC5>C*Z!S4&i!yeJ8H6q~e=?eD@D)AF@D=_vb}%TKjqf0ad$O~t zTjhN=(-y&?q>&D&(?%0M#9EZRc+?J7qJA3`pV@tJeKD*;pBs*dxij-=Zk~889;tE9 z(0Vl1pyXlPPhahk-T0xDt}lD`7&2`)LqcDBxMkO_0v=}wx5WNSp@G#H7*8MDDOkK5 zuiWz8kK`-SIKEFJ9tV-?B5puCUSCa8A(2~DSBUyKUEP4M=v$8ulAy)gQdE<~(^IJ; zKp&M|G%lX5rh2Q9HiH5b`w)TH)x>uBLb_MpK-xl-!x+eSC0bl=vk(DDpXCcJ94N3$ zx5T|V+)OXQCq_&VBi7J}yl30hM1`2TqX6t80L#$IPc4jzLa^7E8fOya#+vK^DKyTa zApuezJ)p4BHbeObV_nlMs~KF#YW)6K&|c<2jJmzFr`++U*$Zas2n1wZu&GY?`v0&6 zQQ;lYf?g_QL8B38$f0bz1OCSCJLsc);V3#|b5$wbU~m1W+E^3TY|XN%r zKl`kUu-P+Vf#PxoesYfEt_p{}VMMNW*ojq>~%6xm; z4E(ifKtzd1YVE0tnNwIpQXAJQ?SBENGB~rXg9GvJFcHt=%C%cz8 z=@tDlcT~{+N+Ikl7@+HB)zDXky{E$3lh#zr0uYJ?>j1`hipWLS9>oLS6%ZD+Ev$HF z(`Wv%oFFRX?(3`o6#ZyTO#81Em~H?-9*@PGSz(-Qi2)?YPF4+lRh)HEoOL12rlH3x zN{ur@ybK^Z;<|Wd0o@a(qgi-%^WoSGOic@0QVZ<^tVWxb)(!ad+TEns8tTP*nntNY zh#uY>0}ZBgLXhbd1tm2uHo{Nu`&iwcBIPvCLoQjsz%V)Cgf7degH=OcK^8YVDmir| zlWV|LFJ2Jr5fw?(B`OjRxnBhqWyD$mU)yJ$Wmm=8*$Hy5sy2(rz2dF#LVy=y-AG&z zW>0+jg=tYQgh@CcOg<3ABCN`ciw(jas)0mb;QRhw=Hh7*>S?rPkmslZcYzy#%EmdE zHdA|W1&ny1!#T%9Uu_p>vD=o`4eY#u6V^3L2p^0U`0m6+35ue z1{AES(hm}Q=qtly)Q2k+sx5mlp|b2}2}_~-cquvsk63gLY@o`Xz6v9PjH`wSRiOwj zqlY4R%9DB|>QY7fEP(e44FdNEp?Lbmc;@K~!c1^`%tfvW6Qr+13N@t(4#XFz(`WZ; zOXoBeI4V_&KK(LT;hZyLY#g?8&u%iNB}7H&y)Y`b}5}XE(+i|gucRF+5to2ZI+T(74#!| zW(0neXn`N$ys^iR9*)fd1zrI`lN8Ydv-yo-wiE71cpN;?kube$!lw_54@+)yy#2l#%Tqs)YE}oC1F3&T}5WTCV)6!oE@1(TyCP zqq>)6A0kc#Q|@Y^f6;cgCwKh`{)N{sCB7kh6-$4-70F6o*Qum@(sLwQ|L)3K7)XU! zgjd*8$@1|G_zo3qsvGdNBF(FFyoqJ%0yJ~U*;qK!M&x?<8J6hN(Cqpqdj_^O*nD!y zl@f+F4FEGQ2&N}4(t^7k)#!=3PH3ua8hu?k0mS8!1WZU7I5VGs8I@IYEQmS||FO|P zlw)WEJ}`(@qm)JIAMWK*wy8oX*gdSafMhvk_V{ueQ^d!b$=EELJADP;rLI4(85E9{1LQ>D43H(=mo zF+%PVj}Rluv=Kt|B(h?nCz!&bw~RM4R?!VR+FeR4p9MlFl#BPAs7GF~Ux0LH$tB#< z9Du;ERE^!ci`};yZKGDkdRpm!t15bOk~S{!S})97N86Rsd@5?%?ac{HnZaUeFUns; z`mxkDwxGaOpUnnlrlcvJeMM5Da0;u>Ym9chK8KND-=2sR`}S|)0=B=Mr)+AlI>bA5 z@K^ND7yZt|Gx>dL(f=NhV!YU~ud*K+gprlvUYMQihKALKH^?cvS!7!M{icOioeiX; z_R?O3Nv2mU)fc}nt^uMFEPfZ$+IOF?``V@Z!GIcAsR~v;aM7W5!O2!z^+0>8n9+R$#1%m@nq?~8`-ep7Qz^Twr!6g zSJrN7%-)OwR&pLb@L*CWl5ytAX=w58JLIj7wdy7{gQuFsQ}L~hRXqG5ackqr8X8WV zX?Jij+_AU~JiG+B`0m7dfWy`2kzg|OS5pg*Jn^$xoz`HMyfuQ0WjvOiFXOT8Hs`Tp z#MljTY)4uxJ5REd@+27B0XAjZ9r0IKI-T69N?$;arwxyl^-KQ_36MNMtGu~{*G0iw zY@60Aj?}~{{2ir$=-jKKaubDVHIHiGQI3FEB)+?~<2O}BUOTRxT}1(D1- z?{5M>q+#2phavK^z<`dlFztXa(=Bf-eACQ*DSs1#U%!WRoBU>wh=K8?beIS8lEVq| z-1(Mnvpogw;+Y#%oKbfUTbHM%GvA&Y31V*^RL{b+&I3AtzEI5LSVvwALQ8$bYbhj%w_KZz1mB7IdTk;3C#`tit+$8u^=rFl_kW7Ag-BSqB;s@T3h1Dt^>4>NC4zj0blY612q7Qm2 z%ysayrUrWbN10VS1>};Az;~aAPcaVKnc@OQ?p;7vtw(hQ!~zE*^K_r9Q7U9=7phCy zE|^7lOz_GSSD-$0R6-08{}vbZ=4Q? z@YW7(_mts^#Yd`WPI}CMYH8XZqq~Ou1`+YfC{Vjdqvu8+J#-g6PY<=kj4pcU66l$x z(c@5|aC^}%&ZEuFz`*Rmn565QN=nOAHz<5jeTO%^0?>jRFMCO1OEAEyp_U@HjILk< zj(TX@g{Jpf9}H~Rg~K)W#w-HZU-`qI}$ zKMI27fLEK>{GheVA*xW!>n;6Byl02H3dR zV1k*g!HCFPQNFPHXap%d!30M`H%&PRN+R%;XycXOzhB7stwIgYbheJ6E29UlXaUq zg6v;MIZOqWwq3`zLU6gK)Gr}TD zNYp*2tF~c!sZP;6I@Bd8YPI4vdIG)qC8%?3++bM9q z@>J=$AiU|+%* zb%i~lPfBtk;m#v@D&Y>LrE0G5Tu4a03&dOKGM~0MX|& z>s~ycxRaut{UUc=aka4Q@xE#A(WfP>H0?#Ytk&Y)LxqKZyBgm(9ykia-KOA_k~+XK z+)9dPrY;;!70qN)pv7+h1rS}J+R5UOCoW8Dzy)lKE@Jq3q+^S2#PdA`D?M*LU!brm z;O9}@gK~2z;H%Q}=qhIAIww7iHwrUt>2Qamo1YMW{Po;Tiiv{tob5nlo<5X_%hXO$ zmjdg#jOs-NbRl!o+$#g9w29ng49p$~g>`+? zS*IuJZUux2D9VOD2M}zC7LQl}I*`tFUK2UB@i81R^}Bj`YNI6LI-g(Os1rdnl3yO8o9F}KNB8D6&hje2A^ht+9;lWq(9ycjw(G}dd>W{^c zST=}IoT#hT#71Ni_r%@@ddwg7bFj!>mb{Je@isy6M#a<4pwuj(CiGz))i9Y*|Aw|v zLY=73vb&n4XhKao!yt#yggOb3%KnvZNoc?5c6Q89xM`@_^4M)z<^kcV&8W_(SGN=0 ziQKuUHPLR*?QCZ#mg{WC|1x8@=Pts$43ZBjnUi%pC;}Vl?Q(^a!3{dsq)1|SRnU8)5V`iL}nZR0Xoj#$>6Z-c@M(;+(b}+knz7R^*@5qMOc*rH9q#*z@AA0?S zBk{w1L~2e^dx;_v5pCuuG7{`ZAgqWz6uc#buWaBe)KWo^wsqo}Nij+gG=|@|f=!in zxQ-QmAMGu)>=n6t+M_|mmUhS|vz1in6T^4sv zw9Sq&PIn^r5p~m{W>@YU%LL2qE?Fdh4j^~^1tIRCE9Sr7hiQ7K!m50bR;TU>QPADW z+?yA4w=ulA58e&XNY?8V`U8H0IgSwhIXl@ZVL5?PyGkMgFZYar3Id%)|m|Ps7?7;XqnQ@ux<|c+W z*UdD*2kHg_e^}32>2<*ZKj}i@;)i$zK33htsJ@Bv7JR7z)-2qY@4Dd%iNmU)7DOpr z9G~tj(7WX5W=lIWb|)t-hHSlL#_r5uSb;nMl-V6YiRPfmx?NS`RL&IWot=kitH*)g z752_#{XZCAV-MIuK=N-rdK?+@)t=azsJ~Ddva)lEtm|oA35n9~P~*qnx+{#@A^MO) zr9qggR96fALz~p|<8$E;ujPwyZSYggmsj6*forKij5WFAFS+J5gSIwbN z5KY(WG=1|;*!XkQc%`^NPa7W5(=LzbX`@0s%~gr~Bb1r5jhHzO&AdPe}cP`eH`kGLmh?pW4%!WzcyNLjNQ!{lT~BnVq-DdCX0=+ zyE{`XQ&SXMX^h=Ni~$=V%Zy|l&X|chp>h4WBKi{7+B{5R`rkJrH{z!lt{?+ZxfZP~$Jy9$S=b#j0BJXkM1C9RkHXsvXJ zKtgy5;x$SLwSDwq^VKk!6Xv3Ak`ro=)n|EL%~C8a)E?&y3(pLRIt!3WaAXanE7I{k zy3n%!Ar~ohr>D1$jO0h-XXxX{hmP;1#;Y(HnA2T%diM8Cs3$6_k5x_>37P$+I|0=a zK?`;Q=tpS;y@}iuOy^G~6@XA$Qd0U{Bop`jusd|IZ~E^rwH>LjstE&^`j;?!=3)9$ zhBpt>R{}mTOh;SluhS!X`DejCu2Se_J|FL{WPv)MA9J9WHc?XOX>xQ6Qs@x@$_`AS z=Q1vH-JHkp=DN8U@PWF4f4i3Y_kBu+7L-E&km+tXi#)&Km#FWiL{3qMG~!F47G`yA zd+#Hh#E(d9d+)1!=p~fT*!J$s?d+lc1UPm-?h4C($-4cO!!^=j(x6;EOENdiXHN&~ z%oWaWhv;CT`R!26CcOFW^fR@E@phjC+x{S#--h~V?d%YN{MH*PH_LDP>BHh`n9Of| z&^F3%`|GpxRkIY$ZwENTisiQh0jU&e(MhWk`cL}^<2FTghn=HI_=IreMiYIb-ch*P zc+NRtH^2AQi6FU>1y9feaP>#Qejzr&yR$0tK9Q_HfX%Y;W+;?wlK^N=*CzNuJZGU? zypN(u1@*wd(H(-0au4N5hBpr!6@V`kIOgaAy6{61P$6bI88LHUL}t21WajV?W?VZL zGd?KHOtQW^>sF~Hu*BI)+8%Go9UnT|5w6(+m3&6OXi7ed;mwtNKHv)}*~Q6(_q}q_ zinXyvGAGEp7chQ3?;4#;fXrz1ewiFiuH3RMg|R&pMWcNbl>r%5lLVn&)GarkIdEjE zuh-}(wu>FvJChL~fH45a#G{6IYn4YEGEz{Fc{r^f1>?h%fBqs4HlG z{ASo}C%9${40GMUS(J+E2!=Ngb3FlX6y~-I<>bWTob-ywNo7P%jyL5b{zjNi`WNS< zDk3K*MC4?kDJM6q@^YewIq~jcc-5(lzqw)VTsgX>VNSg3801{6kz*R>uF!~x6z0Uc zV}bP=4QqIqyFtTc5az_QW594@aSSrd-5d>rcti-N0q(@OY*%lX!{dg5XLUlWxyskQ zrlW_s(_Kzbd`N7hjB8rI47eba&mP< zPR5yX^3BRHPA)0V$@qwzOo+%ywJ9gN`#8~y3-Mb4$a<3*e{+kATjc1L78jSYU_s7Z z8abxL#RD1t&Sz=u!ey-hipRu{&J_)SW+0~x53 zeIjzwIU*-rO*zTEQvh!iQZ`){X1?OLSfTN$QV0!XDm7#V_(5F9XsjA)(bZt{ohe7R zz&?R{&G$od zoas-UUrvR}|I<9QvW8f1jy6-9faOSTvl}pw4+_`yDx&T)AcUP-}P7i2B$^RFq@c|I>(~JmkNdQRVnm z?d}fRMD7m^^xkYp)a?ZbZyf&|stY)l-AzBKP`elk2{_L?6|$nU8W;0n4qY#QcWB8} z&+>^N%9*k!G!ZoO@v(mdupL-?JH3dK__R9*HyTo#(kcwb{BmJoze<={y978`2 z(DP(FYdm?+ldaZ;R<|&iFZ?JE^EHGOq1*j74iPv{b_djLcAjioeb`JjOr9s3fws|k zvhDO)?o+cAJx|u&83t96;0nG0XL~?8@q}moDr;69zwvvwbIF?>&4@e~WS;)Q`u*?Wlgt zzdWWLJB@mI47E760Y<(&<_tNcB`=T3)ZVIyplBAFxu!Eg@@dAi_Vymo)iY5WB|&g@ zC@b+Vd?SP<5wzerkWz=5@PXm11q!ybDIcR0%D4!0>wgwYI^w%tHB$2%iY zj-*~9NAu1|4W{5TU*ulAhN(e8=r~jG#$N6101=DlMD9vVm!&uPx>mBgs`e>{51v$Fe29l`bUpiFJc3Y@1g9<+N+|&6!W2c89 zgnebI%h_XfUZSi~cao!9z)P!u;1*~oyD=_vL)nAj%?)KAz!x%<=kN+a$BiC+f(#|- zxu<_Y!<5R-W0C81e-rlZSme}A8lmdb_2_Va%<5YG{i=op;1W*&|K>m>a_?M;9GZ4^k-mmLk z)BU6qOl*^^KGX4!Du7=tr_c7uYMnDD)?}|hw`OZHdiAuB9frN3hRHSAYiJv-$-dWT zc}vYwbWQeOXPB(!3NELA0HiW7@uDqya~3%m37(eIBy=u0Isei(>LnGpmeW7#C`pSX z`fYX5|MDm~YoX=zclvnJ0*!Yqrx%5e|5lAxIWsVFy$BITSrpbWym{n$8SsT7m+O@= z-#ilR2WoHNXrCS43&}eMwfrPgJG@UH_D?lT+F=fDBRjlbpXF6GOHn(Vfm7UKz~{7BRfJ87u{SAv5T%uMEC;D2$o4M$9}F zk(s#>nRz~h8Q0!Ghfrp|_A(P#)Vh|_^$&Wbqt}5Ss0mTY9n3s6w{|*8j;1)*!uu{C zYDD$%5oNS`;SigtK0za@=zW)u@@TWCVqlhj;3I#N?@OmUk()@}^eR%B`4yH4++K8EdL}X^Sh|KIA!i+2Y+;v|;Q(V_xm|{<#DL$gC0H*lG zNx~ExNZ(xTL^+4?gB;!L1z4u`QHPjB?l(-A?S%_2H+`H)3x15j{T>q6disWY!_@qQ z!m4aGFfh9&JRo$!C%qE}I>AvVM{|N>7~b3o`T)L=6S$Z;Z)TWu<`^+^TtsH#5t%vB zl$qP^31j9dBW6yD$jpF<%$#n@O#R(q%sj1_Y0Tn9m4#Op?-_-$?Ga|8#N-_r-rO8_ z1$-fMyjI`Sc=N6>rr-546X>k2Dk|ZdP_Lr?sU}1Kv`2UYV3ZxG+vR8ufXzBbS^J7c z%)LHh^y*2TMWaiqI#`eI?sow^s#BB}=Q%@<0ai@`-10cu!s58|$7WvB z&@OErTFgLOnk%EAeO*Jls(EO!Wk_h>kAn7J4%$TSGYs@^s=ot>0%^`$jlQARGk4tK z^&Q>RUv%(hsyAHG5>s!jv)epVe@P=|^HA9vnfi7*MMkDxrxCDAC;`PxJysld-qe?C zX!mO#TFgK;cW4x}D>Sr6H4m*c^<$%;&E?T%PryLe59%fAUPiaq&SkOWvU412PB2>Y zJ@+KTo9CxA;0xua>@RRDwPrYIy4T0_HN!H+uqq}4YrpT<`^=eH&+z8V`~>(y%zQ*Y zyrh`9@YXP9mKrhhc|>NujL6J4AIrt{M+iMm=qDEm=~roe9HQeF91Pw`rluKZ^lyqW4jlHm1NUAP}2-N09Hm(p2y zH0uX!21^8VTuJOX)32z|>V$v5W=Z}BZ05uQf50YDH$OlMf$8=l#$}#vhcY~;+p2U8 zt*fl`><#$9yEQIHU!m0cuwILAZhK{|*9r5Ktd;r#4?Ud_k?{U`!i|2o@YF)gL_75K zxNc+H-bArJa7R1^lc7l0%NOpSgK#sy3Mk1-Xx6c$8Dl32~-XQI&f%IKNMyF?;fm9T)QV@aVVXg$NS4M(W;+yS1$N5-u2KMb`%S;8d8+ z*D1UzQU}&pt_jOSCtU8GFfbyN4~VuOyA8veFA;YHe4#w%Vy4$5uXOa9VTED__P!I7 zpcjl$yk&Pex`4NsoL0>_#3XY2VmiNxybOo}CK7W0=$NEe1bQm}r^0G(Am2?4oA4Fy zgn-Jj&>NKx1K%dVN) z4>gK5Y808i7HyM(V!cju6brfftEFo{(hzSgCuzVn+61Ct>{-glP`iVME;!V>kbJBm z`Fn9BSm4sqZLerZK5>vFatB~&_CQ>49bEbh7n&2%myZeajDIV<<`I2l=!F0AP8b-` z&t~bENAz^K+%v>3f znUN8hxz?1KEkl|4(ukR{5t+F@A~Q)-W{w#hrkSsdm`O!s=EjK3WK5a4YLu55Jw1`X zIE65i(A@MiLym4~dTP`tnx#=>nx1BBbVN!|Uu%fxX^6wqQ;mi$Bt7L{+*!L;!?R4o zL|#*%_GY;U|{wrT*&X}{nzPESV@6LjzbR%=Z4Y4*nww~b%h3fAjmgIG?+!7E+$c=v{VA+O9q#cJibNqB z$D3RhrcWZ+YAW40 zNrh-<1ZqkuYRDS>o*oc<)9NL3hB_ zc;>#22bO`)Im{>j5?%HffG#GQ(v8e*rt~SCifZa*PwF@eGh^s%$O-e39_Wyl1%?LU zJIa15{Rxk;XU0g)goiB!RFiOtYIU6tiGli{qha#-KzfS?$)Db$(G#EQEgJNe8af6_ zee@QMBf%ZiHxn2bI~?H=X{QZDUkz~+2;>Pd*9{;X zj94Z71r-&3_sq zy~qmoA}h0Gs-^~uN!8PS1T`!m+q7!P9?M8J((+v9_FRlO@Y)>fEx_jZty!?ScFdXk zCHU%@)Xb8b6$1h{;iu#F`;pbb><_^w#!IuJZ`2#Z)qa^du@@jf*x$*Laf^H~lbVJp ziT<9Vd5dgzqb7n7U1lEopg}WvJh3wU3wQU*lrAA(gu|ASFTVIi>k7D9z=-twJRnng zFT=N)Q#uFwP0!JNw+y6{&mzjP8AvzgfmXT>L4kc0EO!AeP$hp#fXsv9OE+BQKw%;1 z5Qvp|j@_JRuy5nxD4kSLNGor^P{lBXSR&ub%#1bA6iN;06-7gAM}l{SSo*nV3bEdh zN(7EUUljsLf1nBNT2HsPScf9 z#xvP7U|g=VRf)Pg*rGlax?`77W=nyS%$9>!Ty`-7_NJ#}?unkvOS8 zWjp+wFlMG0F>^>nW)6$UOpg#|T<1LRKRb*W+lZNcBQmpJL}m^$W#-MZh?$wO4Vxo< z*|p@8!Y}Pw@<8!jD{+2D%Aj~q%Dyk&=e;F)E$o*1I36H+i^nLPyo*$uP=Z0mdFwJ! z`ZoYwjbACo`;A4>tql$*p=E#*#< zO<&5T1WGe{Qm!X~x)W}3_~s$?dSCFRUO|@-85TdVpP(d6laSMqsi`DP=0;9OedKg+dy{ZA#LDiAB>V-;Eqf$X zq;7{K>TY5ilSx?C{4$AnYyOTAgVpX4gH@-HU^QJ&BYO@)u*!^!b?W+4*EhSq%-r>8 zRi080_Eq|h*KeU>7`@`X5t}Dw5B6=T4_l{($p`z^qD_)7*|H3-{6cI3fa9np*8uxs zT9SyMnW^1MpXGZsOVJ1WwswXUd$6w@kg5o6T!rJJ^o#)s!S`U_+Ec@F);MJxS={ENZ%D#j@uPek{E}Rb@h$>So=&c294L7Owsf)qU;AaU zV%ab93*=sSMPHTPC==ESRK2tys2Z{c=;g&EeOl>yEB&4GBPzaymrbr}rIYLNQGw`0 zY-ZuxLaRXEAK48;8Hf)em3*F-qwKc=eLS7Rv=%N}L)PRYRg%~O`l|F#mU{dSa6JhQ z&du=Yq*(UZV%697Jgp>Dfl>0)xZ^2dI=$Ab4HCDzLPV9e22sN)IdcQmu9LGZ?AjWP zXO^C!W`!E}Ye^EXK1_~gq4;0w;GE*61&a`ddkG9;&eVuG+DDAh(*R_7VC6WS7$77i zD8yPow$g90DFOFc8txODhnuVixCa%-o&G?fJzGONxOr$X1EIYn3fgn>XtP&hpxozF zR9)h9CvuNaw|E~OB&Q%QQxFtSYT!~r@JlaO*R2|SDSxH?U_C%HOZ$h&&QkpgFVir&_* zq6k%BM1PSAYzj|Sk)Fa^AF!9JKqL#pcmm>=CZN3#Ofb@!ph-xOR_8=96$ZqpDh!BO zN>9{Bg~86KE(n(A11!l_!IFFlmih?xdD?_d)Q@3_HZi?wY5h5b5b&!}WAzQURR6Gu zbh_d|O&Pdm-JR`nvhi9y#_;BA^?d;!xK>9rY|@L3niIhc(mPS&sW&dnL2O91eSGx> zMJj3Y)juHPQ&Ha$d<)Cl0aMYHPJD%0WQ%mA3$DN^H#=1f>Ba!)6C0fX=*d^0CTEC6 zSCD*Yk4VHQp|4EsHj0R%PnK>ANT-09vjQ~04QMGSrgGANm8c&CbS{Gk)Lw^(+S@sz z_Bw`WZ=#;de(e`#il-Sdvvovf+C^k$hY)65I}ZC3Gr^|#bDc27V|}K$ow5QvMqUoP z%65VAxNaij-I|W}l}}1H*K0PMsi~4gk)yL?d}+M9P_AA z!SLo$<2b+?wHrJV}MX`-Q2TtmRCZ00@zbwRTCEX?9rhU?&X~@Fr(yHoaUar zlHtug`*pw@dG_q%!lZ*=W-S)~^zmv&4^#UpW)Nt;V-oZ*wXF;^lrOCsY5|->&w6}f4Mlq! zbP1zNP7|djwfzUxgMNp7xO!8BvwM-L#m@>lVY5um*Z>5g-Zi2}E`xX0=us!xJvS!R zrb(uDKMn2f%|nX{ki>9^Iod?s{y?k3YGY~WYj96BsxV6sW3nJ5r&49 z1>bFarI*+0^w58bmzluO?|KdHb-oF8Gd@902o2mlTo~ed5^fFtl(ZuQ0%aTc3bp7e zU7;N}x|_nA?P!~v8mfLmBIt<0;`fBHqUP!NSP!k{9RxuKe2{TZ)aacjr)!`|nBEA- zM5-6d(d>3hF$Lc_;S*5At+VY#cTlK0;QMG*8OQgWjmu0e-8bRN7(#r>N0d>?LUP6E zS2Us=QXB&4P=JQ^BnNFG_Z9}qBXQ0SOrmZeAe5V^VxhqH!DM~Sc5KfuBkZT}swumG zdiRDVZh22*R?N$VTN&QGT$lm)z;Yqlt^Ut&(#3JU6OIYvyUNRVpz|%)j}QKFw0Ad`%KT3!Lw0jo!AbE( zNO(%r^$3u!j1=DcnxFE#=CR^4hBuEDUjhD4h!qFvv10clVF&@YKwm|2qwT)4eEUF$ zYkIg+O0t2Z&$(-R`sV0?S^;{%RnkMX9Nld9Nz`=@&`t+n^u_V1jLTd%(-_`dH+KL& zP&e2Ho~{f0neM>?SNEKc^9lR_@WU~H?m72BeQ9>j`9OVGFEvcwb3PhvqkGO|>JIWs zHA~TZ&Rv~h#qK#D1V|OX8t<4Ztd4}>yXSmOH;P$dKNoo>%TBK}4^zgfY?)@=QjdhY zVOG~+!>(#b050)!kq0>tiClNGlT7Ww>Qc5FY}@;Dk%y>WqN4E6MIH(;B?^Khc8Ffr z&qZE&cv$4#Pho<4?aC&s=Qi~wN|D?2H&Oa?TUR-{+0L1%JwOpd%!K?#Q>OMn9g+kT z^oy2>I=ZW&1eBeHAAMAJ(IBL5dcjh4m{&-;QFK<=ROJ^KF}7m?m`9B58Qwf%>;m{g z5n~sfnHvtJh!J?>=py{S4GGs`!`F+lgOvlq5RQf0QcTX@I8ufnZXD@`Aa5L`Z9=r?x^eX4!C|Jjj}bFX!$^VV zrr0VXGnuOmVQZs|G|#Q7{;-D*;Uf!zFTbftXZi zu^aSC(!({PuJjRAM&zj~CXFM4XuG$&uGL8KZ+GQa+hVc%E2mK8iEbL&L=?0r$4CNc z4XxVMDu}GRgDjD|1p~8(VG`FJyB>g00aXRV0xN6RU8!%ngcR&7_jSEHs)UPGQ*n(?0*5iP{4LE^ZJ2d(mBS6nKvRb^HxM=-Zy2YRVXt(jhOi` zA~PRHWadAn%p7t+m}V-BnE4_iGhany=37%{F5W+knO;WBtc%FZ_Ys--*_4^P_wzEN zS2Mj8GYEmdFbR5D8zqIb9wcg^NGT-XwR4pkMVrex8z@HeK`zQ4w6nm4c3}S4R->a> z{>VQ;g$&Y1L%g$wxBxntH+I+11?LS$qP^GWSPjp<8Xl3gLlPt^8p>1$6~(B%*XKA5 z*%48Yl?r6Nq9C(0WXDHAM%(=0?BpoO;(27*GcYiFC??78@15v$CvrDa_d(pP?eCoi zh~}i|_T(w9Jk6khWby`fXsgr|Ea3{254vgpiHbREN+r|6dfZg5%jLu#l6a9)*Ys}WqGko2=0T_CF!KO>Z=8;se#aVGGNSQFzi z_u*EjQ^qy-;Y|S_=)=+Oh`B2A9c@W#Xe>HA;c=0NY zs6%{28D$>KK&kII7g6f@LDySVRKiQtjm98D13r=GH8 zn{6eT+VKuCiChlTWse3WuG>gc0O5^5@-~uYN4QDvs_h=z!K*TThbp76n(t7Z8am-r z?}TJxzH>sQXGXi#x(UMvTe_810Rih@Y4ckGKG^0x(n)V0CY_s&nAtiaGwmWWvx6x! zFSHM1<`yGnIz(h<=ZMU7G-YPpc3x)mgfv|-gEYQ7lb~!>;2diF>)!+9 zXaeys%4MxW8}T%SDsQd)(Qa*Jew#+rVa+2-u8DhTM5)?d;TBH~J7^Piw*##=E_A^) z?{nYCFvs(}<{74n;m!T-WWWddT?=-VzT76v5bn@qK2S<6pL5hXNs)8(bCS)-gK)*lrmiJ z$%(ItJ37vHR~~KlZVb#;;(GqB&HYYyBKHY(@5$ZTU7Lph;kA5|gB8=uy(XpS#D^7L z^PJc#bizlx69(qQHfKf4iESC)+&8xXe4uZ7D~8cqd!?gC-bWQPh`d`d33}wEK$*7{ z6*dER9;a^4qw#WK(jxteuy`F=dJ4bDg~qg_o{akqGFGB)HeFV4@hte(B80nL8H0Ja z`v=3Di*!%G8;NxHt-?h5xF*uQnS_EObv9gX4S@H#wI_H^WWl78a_uUVxii%oxl?dI`gui}VV>8;SI{&B8=FPZQ~tOhQ37 zaotMsxyjUPd2};G`mCu)6O6%Jq)CQ17ik*sMk1YE7ADg9nn-OXK^JM1GWt$A`cJ4v zp3{iB-$zuG81$4zRFP^VQMaJ5ZoM(+d7jr?y9*iKT)RsEZ=~ISZW5;5g_Suv zP!#RHB1dzou0a@+sam{^+Wnf&z@(k2rMSn1AGW04!gTV8j#kYr2~a@s{f+vzUJ>ZE zTvlNaz*?^C>}a*z<_vFcAngEeWFU{1hDm3c5i{FHWTt&YW_C7Z z=A$-Y%)DsC%-hBWCuB$V{h*%p73KOt02qnptkdOqYnv92Ak6 zZl=tPZslc0U;nIB%wYX<1d||ArZ|#H*@-d@g$VaC7GD)oZOPHWK~>%rrb-bQc~Mm$ zvc9ZQ)L)~>p<@YAB_?q#8suivIT{`Q+j9QkE;pcPT_z%7ruLs22^R&C;9jlBBN(GJ z#I(CrhFOfzy`rHTR~%g_*oU@mY96{o-D^Zw@Osl*8QjV^%qxT27~VYa-wk-9z&~%} z#*q7Y|I!3FQ;Ma5q{Qc{qZsiMa&$|Lc$G%cvl>OFM!Za;qnSqhhDO55AQA$N_+1Tg zBqM%PL-$E>bkc~wX&$;n-P=HCXv9A<4s#>^iQ&zS_; z_Z@VJ+^Lu(8;5jVH%UJNgxAdFBEl7`y_=pBe({=`zKr--;Z;@tD&TeB)$~qyVCaOO zcqa^8M%>SGGIzuW7~b3w9|OFRBc8t@Ogf($G4pstW}b}5%rmCU-2Std8NI%1P|ToW zn9n5WTOv^&f_g!Yrl{h-vl!_H&1V`>%Y8&qjcBRkzHa}68E=$gkw+;7s8!UIXr4d|p_*?rqt1jLTfO-!r_qaDN88k#H~gF-*8$Xu|zPil=$P zZGCQ78a5DaruIvRm_%-KOy_^i+1CN$mkB}>zc-qn_k&jidU{x^u$rfbcA*n~0!K-BpI4Wwtw=A3U8ALT5uxg ze|dVdcVoKj;YjuQQz*YV-HF^A)GZz@*6v%B(xGP0_E7PRQvR)1h=%1kVj z89Ed1Qgxtac8j80?1x@fg}o*Yf))-Sy-U`tW%0R*3C-c}>z5+5N^&JT>%2r0V1n1AM~eSnoZ z(Gfoo{u#$jR8iOS{N`4A1H%VfY0&coDZmHYtLJ%w?q7I~QP1kzD}kzYqQlHOjhP!G zGLw$T%+03E4FBBAj2`lKRLsE8ZebGidb?Z(IMR?+LoF5Zv>TzgN@hAsj^=vX|D%FS zRlua3t9BGZy+=YbwH-8KX8VZI&kV`?s`*=@K@Y_*&?$nC(0-Z1F89mC69CRx=AASG zvY`YNye*6wc(1NFZsj4F+MPADZ#NIEyczrNC}?+a&?a(UV_>!dw7d4<{{aYZf-%{L z-|(5&=5z<5sLDRC9H@9%{8;FOyLl%J^vKTVMJtQeY-MD`ScoM7ubXpvOw14QLrFPnM%O zR{Brkxz2}EtQ6tSA29dSC^|!<$n?!>=WBEnt}6nLitME!9;P97?vc80U;vte;#C?t zr+{$Xz~H1HVne2OZw<+H#gV92fVG-6Aq`v?(*^yyMl3Ug339%%E85$s{zl!i&q%Ev@jnYZRTN zQDj=-ovzUlslq!#LwufwIK0BUL_=p#;T@?Vxw1GCS>at91qptY2uKVoyadl|o}H2m zZyrF>fDa5HEvWFOycuTEM`;qarQFQ(Rm3gr84^KozA~!tjxMY$cZGK!<1$y(EQSwO zRldS|6i|T*YDR_k!>TaF9HS{_wv^jnrkLj?f)*&Ir>SCU8JD?YmN0xV#nb`n&r-}8 z{|Zw~g{GJlQf}soiCE#iDG>xK#;C&Um8Unm8q>)NPc5RWobE(!ry=O>;@#vsF+j7$ z3&8DP_X<%j0Q)Pf<^|yL*TN<|Nln;TfrY61{D_X2ex;}Q-r}8i;o%^hwdCJl?dwCV zmjt`32~iR}%)c$8-xK_kUrn+|B4~j*#2k7Pxuuvc+taJ>y#e9Phk^ROL;q!^Jzw>z zN0-vy9ITn@3w=^*2NEoZTWlmy3wv68r37k?XCkJV(V zj*>buB&&v6ir)43?*3iNTjl5ig`Vpf_I8-YciSUTw_AWhx&YL7%;;{$Wgc2*GJLVn z`XHcM5L#c?!5;mnr5@iJ%3F*~wHfM=~yR#T>=(#T3&UP%Ti*hq_{3 z%Y`Xs2Td_;rQH59#cVGTv_LUCnkr@&#$~RUT^YWZV)g*kpQV^XR)i_0y{4EiE)gf* z|1!n=Pahw{krE|xN;I@NLFGt% zsVYZkW22-w<;apy?HJYY+h|1B$>|y-l~jZfZT`~ZEeY9z(qp^AX5qd2^&w+3H;j)N zKG-mVHdp@x_!ju?NqSHn^CC36#e1gQ=DP)H)HWjurI`Bz+U2+=VFt=qgV+g>P`iuD)}4l z#L;La1m6z_AH6Khxwh2obhNZSih6&YbEPDf;LvB}Tw7^G+j6?%&UKH3Y=Lu?n>*J- zjLqD+9$|QM=Xw(GEpV>PuiAQfmu#4cw9=&g#88nKN!ns%rCuK`R#y7!qy6EnR*q&3 zH19xJYmJyXA2Ag9X;~^F?C@BbRilytUDha~tbz6aTRKHZAjJ=qwb2OpFqD9TxZ%2l zdu?&t`2%I88rmN;v~hYnlav315(==483=6~-3@#!|DhcX(S8rFt%iOJIY9&Fqof;( zv{WG7MMvsC9)nrhanSMnVC*Iu+C2i$R;9mM@7kML{zSY>I(y!t?@SgN6c0Y5zA7prQzGnkI zkZ(MUbE+P;FQ^G)W}^`^cSK}nMnq=r3t`6fv!Ju z?bjdGq~Pq2i}R~dahI4v9<3k>ZNEmmXR#G46`~{hI671CWYO`J{EPe{I=Yg%E!I)Q zYl?tq*Z!o@yPce_fx3A6HA;~XlcR&nGk%K_+a_x@8tgms9>oZ zozQdM6C5a_;8bXs*MV3?Hn+pv|EN0UxYQ&&j*-bHk)F zSTWPMGZK8^eEOY&L&RGmU12>X4$e=1vah`+5wyV9)`MPev89epB@Qg<|89!9*xM%?1;=f9m0%jw`m_AGkQ(3N-+b= zuDh@$sqbw$x&^844UL$Oe8fafec$L5`SJkozk5>On;HQ>h7wRL^_8+ZCy8H{3dWsJ zeQ#-Kx0C~$m-_w|inc)Nds{;v)6koyzC(1R=Be);4Q-DAv<9iKDjak1)c3AN!$6IO z@YHvKj!Cea2>5->KmsMV4nI`YiK7$K`T?=ZOuWOsQVCTy{S(o0B`D>$r#L2 zz3Gb;*o-kd9&^4v>ZZ zL}t{TG4dz1liC zq-FPNFIGepy;nOFkWK{2pv-pfE$a)pm1@$^AaQ*}?cESjd#MoZP1J+L{xiZ%vEGQ8 zkrA009g&%_Az zu$f$@u&N1HVecgTM$W|02`~3f7`TD3fgQ)Z;QE!}%?qxQ3knxpuG?JC-ySBND-<)0 zKVmDZuoRaoxKJtnO*i-+gg7`{k)Fv$PWRc!0}2nq)edaE`ilcLhw3PR(MFtAL#=?# zW?ZGcv5s;yfwb`VCLYv?>f|HJ=zUdk2fV9B6zzP6{PIMm_8|vtBG(-Qvqyk4*Nx9Q zK&WV`6eIn`wVJ`E(r)@Qh!0FJsG7|%C8=hRPc`>BI$=^U5T@jgtT1quC zleCkpw=9#~uZSp`NoHxXQMN{9=q0+1&bYOpAkGH;H10H?AntN#Kn?#jBw<#=->nZ@ zuZGDQ{u{K7YWREfS^leLDO$tNbcTVYSzxK)5%+rmsccFa0?F-FU2cPK+1O<1dv~|% z^Do2vt!Z5}n9k47MvEM_1iw{&r)P2!E=@j0x6U@0+#QK@Ot&vXz z9<9n#>Is(qJ}HcF2!MOH22W=0eWgCEObwInU5d7mdtar`vbmb2sC$oeh81(~QGitL z-5AG#Ly{Z`fh6~qF1c};V9E8Awm!fox$zDakle|N_y)j{iw?p#iU%vvUJOVX6f(6p z=)(r7VN!AfO(i!$pXCfSOHs)soMFWzHxZCZa>{>5Xt(PROdU4`LbGv1baNH-^d-yn zIx>@7R9^n1Z- zWH;H_M|O_ru66DrJCBu}pB$-mZk#Omv}ETM1GLW1WM^DjLyJ?(C8jy z14)c2vGg!8uT%y{>YgO0e4A!ba&5R#NQcG}zI$~qt3#)&2Dx9&7q=(HRwMFO*i&K+ z_?*zAto5j_I7dFqfyg}l%4qmlruG4KiC=WHn2s%5PGMC0pz6g+>o*zz%4kM$urJDz zsPt+vnyLwL3ZBkX(0sf&^4&KJICK7xLrfyKC8qO-tJ#21u{$(e{R1}XNcp;IQk=hb z*i{D3>sfPpae9ZMgtqrzgj~#OhdcFQ^=g>RfOTja)ebZCSzcDN6wQElIm2LW6xs?d z4ekb{k|LSrcxip@bfNW03DYFukZIQHajz3P3#Z5FiV~%w!1T78j_tikZd)I_HCK4Z zTUHeefnGVIt(Y@o%ek9~@42O1I(vF#kNWkMjnbwjdl8zlC+q(%5QhD#(F3%NqGnr@bhBG~o)Q_cREX9@-T9j4vV(S^<95y(XQ7VZ zMj!|>c^iTx6o*3`t_9B6y^4w|Gj?wWhU}}rf-PCs$&qOPIv0tL>lyI#iNe5$6f&@W zdhDx5rz`dy<`q!z!t`)WK*Z;8Ir;k!YSJHu$%BMbg26QC5)w`YV(ch{Fp9C`@Y#Lk zs16lv5Xb2n^hkZ(SC&tG9ud_Q^$*f19VYR2(>eb-5sZIZ8IO)2{5tnz4`jh3M*j?N zaL4ExUOKKr}?Ac0WU!LF*VMHY0dP_^kdIa z9XpDOV%tR!3Akd54TTjJL}^k~ z6w!!L6bl+_Y+&r&XcRj(?20AEE^0K!7Btq_e%E!*HO`aa%zfwn{_~s1*~-+;qv0G zT4zt%c>c%L_Nu>!zg5^JjQ#(|7XARfvb8#9&$?DeFV$+*#oH}1EgYV00*ybRjaxjB zb=~Wi>R!K6_xg_A>pL~pcb>fP=?k6F_RKbCwQl`(eWwZzF9v0iaCr&(esQ0$#eavn zu91Da*LQBL-=?v?VRF0E7d~U5Guxik=H%9Go^BOc=aBttRAY>)WL+79!uC;IM*n-( zi>*tt;+!gT3180&k36ffzEiLIS*<3ga#|l7=NM)hr&O&Y?z?fEOW6Le`^J78n)W>} zEQWmC%6wx#!su=0YsiGQwI{Ju*!_-_72cyOTVzkvVDVpek6VZ8mr5_=U*L$_E%9%T zF4)T+_5J26W6?IX%II0&FU~3c&wk@JKK`B5|2=C`&EpcXz6-lgNm*~kNiCSwtNw&` z^A*;;q_7j(wfT98`YG)WsGruZd;Nv&8tbQruh)jht?hb;kT!Elst7MFR&x>djC(b- z4w)?}vwJaf{Z_oXz=&Jb9I-LPhN(7$$4T+x6}Im2Yh}f)6jtBlHfOeOeOG;W8qcbp z^&Q)cYRz{&vgdVmox*NUq>Me{@trTDP48B@T5-QhZu~bt3T}sAhX^ml+>UX*hV8%w z-Mw@d599VtZv1Ro^BB%+>oIKoeEoNAht{94P-Fd+g}T>I3y%xKWBNk9>*uvSKD>5F zc&&Sl*T#p}4odqqru};V5Bp`WwVo7qJRpVE+OefD;IBJgl}3!!WIJY+PO5c=)V&;9 z&_A9RVQY&0uC=D8&)<*h>aPuRzO`**{mi!A>t}_>6X7wZZ73u35(&4|~)Ptene-XQyGjb{?I)uEnvc?~lFe=eF`(X|rn0i%4DFz>xLm|D4sM ze)N1%?Q2H$tRLN@<`J)}8y&{zv`F|**y2Ca9OqSeZ|oRa(4+o@@V$Tx=YpZbSZFPKjZ9sZ0oILZr*1{WZ-s0!hs6^fueNWjpWD87{jBz_dj@!Dg53k`UjI>e%&WY3Bs;{{e%+y^ zWQR7BYQ9H=GqQb~t`~*0Y{xjfBemIdq44S{cH7xSETUL4HJt{mMk@&nm zRbE-|;ptk5kM3LLmGvE-{w)j{b8c;#pP!!iyna<)SzqC4{0JQVd3#oQWetR<*CjqJ zt@$mgFV`)c_?*Nm_gUe!Bh$P_$A5e?Y}q|i@5HASczxoxCZ63p9h~y3DfxZm?Bvf& zFRYQi4op1$y~Vg?yi4Mp3;eUxw|Y@cNO7*QLH?e0q2--d7g4Wy2Dw#V-l<)#Cj_eYJS^lAJF}{C1(v zS~>CmLsg5%Uq-6MJC)?b-uUsKw)Ty%zsRN&WG%SzU2iL&OM|;^x=x;uE?||=2lB90KJSFDM<+fl{tzc@mCrWe z>n4fM+OC4DpJT$)_tJH*G7$~j=NNO<=!_ueKV`G zca>M}9mCU|s^3=LY2#aG_yvHROV-&^&=1eTdH4k9>pU=uVT;p_N;d9si5L6uKnee%gg+S8Vcd#2ONI55ar?O@+&VXe z+s`dZ__^@-yP?^y*|7T_j>XLTz|zC^7_qR8}9XF`x3rS2_IR)PbuNk zOZeR-{KXRfNeOQoZ+gO3TtBOq@U2Vu?j`)t68^gq{>Ku2dkKH0gnv-Ne=gxGu2j1Z zolAJ{5`IVtKemLQTf%QD;j>HlJ0*PGmGgOp|7r5C@2C60cZN5^^=H82N7U?n`Fgni zJh=Y%aQ&TE$?Meb3)deGxBl^P{fprGSHSgW!}Xts>;D3`{zcLce&hM2-xIFi1lOOG zc)al$-xF^BzHsXw2-iOnu75mS|2(+<47mQCCH%b-{uSK(><fjJz|A=YZvD5y?b}^&>wgAr{(s<`)#dYDF*YS^#rn4>;k&|}*B)@k zy$bHUo`XBDzrvl@+i>&0f?H4BTD9l3E_|z?WXF9J-2A#&bl8gPZ4bEfx&$6e%kpo4 zJFnYI_+xPEc>}&P`G1G&cUvb`U#)-L@HMNa1#bU`!>w~X-27|d=G+0-e+q8>ufX*` zh3o$S*WW2lGHh+b!};z7*B=Hqe>`0ONqBsk_47-(efS=3KNpG@udu~B&0iI6J?q2u zcYy2nh3g+t!cT#l^9Q&&|A4O@=8*MasrBQms`IiBE5hx=j&Spb!@XXe1=qj6gg+1W zeE%74{+gZg`pw_IgdYw!=UKSp)^CvKuN9tVeOn9exZA)zE6M7;Zh^!1Wi8ABMvg*SY?xaQzeETZetJ{#*&S{+V!do`XB?>u~)|;}3JgR=jTP z3wPXu;r49;-2AiP)^jmj|7-Z#p{}eC9XGC&S*g={)`we97r6Nc!Oa;4*FPR^{Zrxk zGvNBS!u5ZKJKwc8sXgBf;m&tQxcMz`>lp{vKMk&bK3xA1xcz({uKyiezipJlR(xMr z1#Ug-!Oh<>}q8Ya0d{>8C|9Wui*&eRn z6Rv+CTz@EB|Be#=6x^Jb;O6`Yx6g~jrqt-eCMCRQ2|o~SJwxHvGY{_dcBRepdaScE z+?+Gv>x5mi<9h{Me*ATb1K}NKb7#i;nwpQ+?-{*)!=$4D-v* z(8T~M;)ej?oZFDc>I!F!VPHoO7;HQfB= zw+&L*;yQ^R9kO~hhsPh8XM9(<{$X(a+u_c4gKi--Y;j!q0dV_vdI|qa34b2$eBXgv z{}1q0LQUCxSB}MnE!OFI+7)hoPq_I*;pR_*>raR4zYmX3vpNsoK32J4KQDpX&*w_` zwEazjm`J2b)hApmJ>%6Ii{|#;*Hi?TS zY%#}iw}(6K@o>kz8Qu`Gvii4-2Rm#r-#*^~H>X37ioU?S4u@OkF>vdA2yTA2crguI z+whQ|3OD~kxcP6u&G{ML5XQ**FmadgP1xeN_TeYEIm3HZ^abjC1a6%#!mV@VU2Er@ zQ^NlVH~%}h`P=oboqsUAAt+fNZiah(X#JZ!Cmy=YU$2Dk4EK66qJ+-7F)P55%*^{md{ zz^!u#JYHfm|2(+)SHa`0N9I2c*Z)TeZ?{|6Ic%}d`g_4$hlj$wj?I8OuRGz+>tVR# zzFWdOG*!y1)M-6i!mVc_+hTOYTv-{x#sr||ELmv za|z#R&wO0p7j7=$55XPxC3r)K%+^oWz4Cnh{Y&`p5-WybZK9r4;QGIZ z>z@tRzY=aex5D-BE8!dLlht6!bzXxvpv*G$L!Q-u2w*K4hm(R=dcO$qtz2T0# zA6&l$?zpGIz5lrpZq93P{kr}0`t>(~JFmUr`p3iV|5UjCV{rW!;QBwp^%psycKz$Y z?ekV}^LxSLuMTC$_aM0bDRBKu;rdr5zG%pfw_sWRUHDz$Z@}$;>jQ%nw&HzGN4WFd z3~oK!!(CSc;jWX(aC2^l>%R`yZ`(hw-@dH^*WVbf-yN>sJMq}(c&nK8xj(*rZg)^# zk2xEZ@a;=@6TE?O4}hEhHoOV{W4Qi42j_L_H^cRhf?LnYaQ!n9k9~``5?SA_z_)L+ z;oISV1~s7z{?`)zK?(mB z-Vmmk^||hle7=smD%?8PhwE<(??C?UaQz8z{j=cu=O!ggdY2;QC`)@;c*3z3jM8g6p3RZ@|A4 zu75jR|6#cPlZh9vdvD^~ho9iiciADKxUjVi5A#<^Jm$wA31su#1mFDc;9gHU3=KPn zt(ZR@-V|QX@^67#&z*@E*VU8w)-&wT%CHMu-_C%WUq3AOt!G8J{#Njvseebf{@(Bg z{DE-&p@}aVT;JD@!FRqF!#%z?!_EJwgs*y77%*(bz*8g}!(s|&t;o&z`kL%8{$mE_kA&+9b*Qn>lI z!_B`Z@mPPK@W}f1EWY_)z&$R@kI3sWzX9Hz{N8Z=$#DJC;re&M^=HBL--f#mKZfhC zJTjk`{oD+$KNH@>d>@7DZ#F8=*WV7VzX!a5{DE-&p^3-i>vdovzQ=bu+~fN=-27cf z*RFqGxcJt7$34f!6e+F-0-0$IzyWE((e%IUD zaQ(gD&g&Ss{&{foXTbFzgzG;C*M9@twyL`FzdU1MYcx5M2KPxc;Bu`p?1j zUx({|2e%LH#?`KWbGX-mUU2h|fa{+E*FQ7y;&pfizURfmaPwbvw_M z&jaB4oac{=IOoOYgv~bKzt1`I@si-0Q{;aQ&m;`jg@MH^cSsf$P5t zw-5h->u+#uJ}=Lso#6Usmhk)G=DY+q=k>&k>;E%+*Z*k~Yu7m)ZvHii7xVAIH-F#b zYUdvYH~)ylW4`yjC*hla72N*Jgq!~$`F+C}+4c5CeDg<5s$KtyaP!+ApZiVZF9+8j z57(ar*FP8DK>l>N{xylme(r&PAHMT_3*G^L9^CwI6E7aG#ZCx2hpl-1-{^!2Uf^@w zj&SpPCSF```{7&v*Kq4!z)<^G`i7uhaZX z;O4J2Irp2w(`-F&1lPY1u0I2={~x%1o0IZ!_4~v1Tj2V~!W*dn6uADGi5J)NpYZMH zqj3BAH@Nw4lkfHC3w-mJ`F-98^Vfx&zj5Nl^|lkf`ESC_{}3C`P1R%Uz2#T{(JDv-}m&|`G>*HKO*s% z-zPk>^?VY(`B%ZMe%_=l6x1zgObL z{2}<}w>hhJ{t9sOS5Lf{-x=ThXW{mLF5LVf)AD+n!qe>dj)LpI3D^GsuHSfe?fl=s z^>2Wie+OKD`EzRLuL0NJ65hak8{qoA5|91g1HV7M{XY(F|EIytzkqztuj}#6e;RK7 z+i>$gAm8)rJACuc`$L#y*y454{A=On-;#K7eLjqD{(y5U@eAaSftx=e@nZhz_~vhL zUhVwt;pX2DZwk9+>wh*}f4lSZeElA9{afJrGvWGcUr;-LGr0cNi5L6R2fr)x`Uvjv z{Q++N#0zWJ^Lx1df8b4w+vcJ?M}H(-|0uZrdvN{F;rjdkF&|gI1+ITIyn*^pg6sbg zu74d||JKBd*OSNaJzgKeJzhV;&2MvYb-pp*>&Xg<$Mf3!u5j~rgPT79u0I~GKQZxQ zJ!j!t&#iFtXT#0k{gUc@%R!s{|Med{HmuV?ii3^)HBxb=Sy*Z(^4SdZ8LMJ|igELhL8aC7P|&wcr-@STH_)xRNJe_wbb z{`GME$Kd9_0N4K)T>odde*5Y9yn0g4W^j+oZ{gL zl`XC-{Z4TE&=szKTnWDh-XV;U9pC%m=6npdZ%bcMyUy+5&TCh=`6t5l&xGsW4cC7R zuKzyVzI_STU-M7-yzEa`xc-ib7thB%@Vy>>4mZE;mHD{lw@f_{|>w{?31m}g|E)XHUD^cKm4h1{p;X6pu(Ee;wYF`Th*|I=sg%`Fzcp1b1Fn!S(0B zeII`luD`;q`MCOP!S#28>+cWOKMHQ&PKN70Q^LQ2d%iDzTVB68Tf_DH!u9t`ym-D0 z!S{Sw_|N&c9+yqv=I;l$Z-e3bm%;U~hwJ|puKzAv{};H&rT+GOUiv%0?dM)_{R0v& z_HzWj{aoyhd|dN8!p&bl@nU{AeDnVXH~%xZ`CpOWCzO_5&)fYauhaZaaPxPBoBuex ziTsz~`a9m4kE{P1xc))#2J(l&^^b?^p9$ALFY(y_J;=Wv-~PM+_qz8T-25Z%3ZY?( z_YeKTBkTWhaQ%znuIKCF`uD*-UN6G+UrW5W-af_eN}Z?94Bv#Uc>i-b-2AH(FXrEk zZ+`!~^L(#Ali}vKy(jmZ!qcpuOTqQmgE!!B1=rs`@#1>e9pCy#!|ngcaP!X~-}7-g zzWEQq&Ho$R{I|*Xe(4K*^Uu6D@2B}!!p*-S@#67)0N?xr@2j1E1l;_i6EEgZ#W%mx z{k8LVgqzskGQ+VymSo8K+*nD2Vn4d48caO*z_ZvH|K=Jhm% zr`h?kG+h5=xc)hC{h#3ai_Xf&)gK4fKLM`)30(hMxc(9k)m655y=n-LY`&|(_18{3 z_TTIOHu&~`e|QJ-N5RdX2e(@UHuKy8S|0}rufJZ9v3*;XT*M9|W z{(Er!ui*`0sI32OAI-pu_I{|vq}_529e-{{GFUap5mxc;t*$9{S}KM>!3PK29(4&3}@ zpUUfLqW%tW{d3{^)8YEpur~zJG`7f0B5ypFiU}-;1BGOlyJ97q`L9pP6_u|7m>lN6yLf zy(7Aew|=p9emz`&O?U(KYy#Kc8Lq!4Tz~(>V?XyG zertY{m2ICb;>Jz|HURa-P!^ zo@VQzA6$P3ya9haTz_KX#r~g#Z+~uuTmNjh`OlJX|L5YH-|DaVe9d1GZvGmH7thDd z@y&k@ZvNll=6_O>|1-Y%7r#=w{@dW@&rG~n|I_&9ANsf2`IF%0w|h1Bo5Is<{VWUD zp9I%G4X*zQT>o3R{t~a{^)yh=YHMf4{eD=MRSK-w!wcNx1$y@CNGt z9IpR$;>Gi2v3K%1?dL{t``HLLf7irgzURw<_~uW9ccA`r;O1YHcyT@4h;M%Hx%s@z z9{@LhNaDr(3Hau(@NVt=jp62ZNxYc93%>d9!>#{&xcPPORqH9{FPnJre&bfS`Lp5X zKU9 z|9SF#e|!(${Nw+T_s9J6;O1YFc=3F>1>gL>AJxu31aAJY#Ebb8@y%cPpSANhgPXr~ z;>G;l_~w5Iw?99^%|Gtryq>1;G&>(ph3j7qZ@|A9uK$DB#eCQ2%89oP-285E^ZUWg-#77?@A^Cp-~4u;1~F`LT=Q3ln|~R+DeRN=|9ZIo zEO-O{^KkuF5-;}upZM0l*k>U$Y{mLJ!p&bl@nZkG;hTRT-2NN^H~(nz`-Zx*{!GO; zztiWH@)xLoN4WVt6E7a${qW8I8gBjV|CNtx{_1f3E^z&Bi5L618@~07gqwd7-26`S z@;Y~?pIgH9d%+v<_k!yWgXJC;O0+;cMSVw^*ju>&L`o{_pfmCdwm_Nsn#PO0^c&co{f7!37-S+ zh`-D?;hV6<`EC&&St*XIxM&7b^zC4PbYi{R!@PrR6a zJHGk-{!=@D2;BS;i5K%vz&C%LA8O}!F5%mh@Z;gu^Etd@7%DsNoBWuM+XUYd?z(M& zn}1IUe--X|x5!WVxbjALN9s8V?s<0^-1F{gxb@!-xBjQ$+cWMCKj(FN-rWSZZ~uau z-};w4r-A&X;rc5jUR*z$;JbdFg>OgxS8($?)U~P<6wk-*_#46XTj2Uf!1XVI>t74k zpAGlV@BRwcZ`&%bzXSEJ0@oi{!iOea?DH}B_W50SN5=gI-U;5mbzZ0Ib36D>_yghQ zkB6Io8r=K`;jaJLCHz&m{rntmKfg{q_N@=~FVZHTuYKDFZhjBA`H#Vy$bSK@-`F-E zSARFS{!F<3qj3Gr7OI`U9bCT&-a!2a!1YJN^(Vsh&n@9^lpuY3-=tmbI=4(bt~WpL_r`a<9R_#3od9>-Q^@yzpN;QjFb3Dunxww zV}3Wd`HhJe*Zb!`;QHIGnCI*Fg6kgy_xdv& zu0J;M*dOngrr_J3>)`h1LAd#|$@k}kui=|NW2Jn)=HCT3|AEAd$M*$%^S^|fzsSn@ zxaQvo_xR3)>uV?C$9_0LQ^*5mu#41DWp zTqDo7oiHAg zdEE^+XIA3Hb^a2*>-@;I@;)>&?xk?^S6Dmu{hYfNT)zQsA9jc9H^ZIpQE>f9i5KU4 zHoo)Sbe+6@^LxO}?~`~j|6qLcTdkYtd)?>+H~%(x6aBv*uHR|BJYRoHxc+%?{TXom zyWkDfGaIh|Y~ry$-iN%0Z-3gXpVx2ySB9J4G4Yu1=b$e5=I;$R|1h}uN09IP!b$k% zui2?~{axYa@0fUT{p^8n{^xM(Z@WQ0uKDc~FXpd-Z~nb-^Iw3Q|7uD8C-~-1*)Xru z{LA3xUzK>V{+amZ@3T?u{KMhqe*te|J^uvPKWyVXU;jwB{)=$^x8eFbZBjeG4_yC7 zxcM{T`YUf*JAYlc{x);efT}T$M*qeW`HztA_2CtK z^S_0gzr<#F-^^bw@#6YiAK&~(;pV>%H~-y|{IBrMKf7~Yr}@{w&A&PEV*L-{n}6`; zwe!cp%|ABrV*Z)<=5Mq`?fgc#`47XJSf4Mz^o2rb?py!TaQ&%p{R`mwt+%e7Uk}%x05^XMT>q@Zi~YP3-+m77n%Cp{JP~gG zrrYGc{p<$Ue*kX%Pr>zjY@6rn_k-)-3)g=NuKz;f#r}MVZ+~v?me*r{9)+7fdb`}W zKNI2l3vHkK*1t4deL{JI{s^H+eIe>uD<%pv=|uN&a{EA-6s_1A^#Z=87Xd}+kD{zZ4m z^X-2JxcQI3Jzt)O>+jbq&$s@;aQ)}u`ftGXKZkpM{RghU)UJ6w`W@i<>m^=1AGgD| zpZ($Xa}3=43FLb|o{n$+O>pxcft&vn`JOLt;hTR<@4P?ePlKD^?l-yL#Cl!G%>;9LK?d*u1nza8BC`{35|1YG}ZxYw)C;QC)B9_#o1q1~Q&oz~w8 zZv8vL&F`6b%=db=AHMk$;O3tNH~)O{yyLavU z4dCW?PP~}EGrswA;nx2R-29(P@|W5tuhaaS;O0L9H~*=`i}k;SZ~igA&Brx=8r=L9 z_Rak!-Y?dI>t6)dzY4Cu$bPl+mxJpc1vmd>xc(W57yEMszWv#0|GXaivk%<-H{jOu z54irp2juzshr#uqh3mft*WdoY+WCFp`gB zTz@=Ve`4ar`p?F<{!I_b$F)B_;O0LDx1N{b`fns&tmkul>zO*Jc0DuT=C3t4_pN7B zxPA|~=gVGj{R0v&o-ZTtt^Z88{k#%x{te`NzC3_${yT8^OrrecK!x% z^RI_DalYRT*PoSmtj9mUcnRNnE*@69p4;H&?{ir0`}3A&xc)e}=gSFj{qy1aSHbmf zOgzrl_oD~#o$p+@>*pJ|`9G2G`L)#Hc^}N*9BzIuxcN!H~*uO{2%bmzi>oer};O-&Hqc{#r6CIzWLKe*3Q2gZvJmZ<-Y5A zf4Kg@#EbQe#kZafM(6p?cPF^{AHuEYOSt~1Bl7&Fa1LZYzdaVNKM$_|3tWHUG1dIy z`dK;g`1eDd@11bx`wZOtmrC+K#5aHP*nGa`Uj#RQm2tW6eAk2PUkum32Cl!%_}ckv z!1Ygsn|~f${|30%!+YTR4<#Otm)FBr@a^ZfaQnH$k@>vLUoP>O@AYtfeDimOn}0Ce z{1)=P-#8lI{N<0z>ok8OxcOToUR=*T@y&k^ZvJ<0^M5JHU*_n%PV;YpoBtTx{5})% zoThLLvh#gkxc;MX{W);`4UVauzZG2nOt|@%!u79AJoexFle_Wl&+m@S>#;ug{Df~kw@<2F&y#TTM;xE~ z)-wUFe-^xf^>!It|Ek1e{a$}&;#>b~aQpc$xcT3Z@AYTV6Y_bPzaiZG2DtgX5|8zJ z{W$>N{BPmrFY&v)9`lz=yqLc}zWI;B&3_$k{<|glU*Vg7_KA6&=3fIhf0N0%-^6;@ z7OsCaT>sB-{q`r-&R-F(KN@cS@o@c<6EB`$7vtNXLBG%Iu|E^w=C6Ko?t6Z14A<|H zc(I;c@U7=Zxb-Y^N($-(&i8e=^PLAb|6B6CUM+T7-UstHf}7t6H-9g<{xG=y z=)~iEt!Fa6^;`)z{~oyc2T#rCBX|NO*@$Ll(L>wgMv{d3{wpLBZd z`lrG5mp&u+n?g^s`>~F2{q++so?qSYt$!Ze`WHSkAJ_cr;r9P-xc;ofi}k#OZ#}1; zm5*yZm&489d0OsU&z^Ao{Sz*)a3KONr0`o9>ie?{WO z`tQQG{$tM1>+$bH&48Q#4BWrx_$pj~nG5oK{WakFz2W-%!1c$%{rhVt!u4;1d%PZp z>yN%LuixV}5w8DFcoWC#JGlNYi5HL8au?;}dc0nSTmQ#!^AG=Ho?|^n!Sz3d>wgE= zA9Qi;{84cI_u%G#4%grRlG^z#aQ(O7=Km9}zxSoJ^9RE9pN5%jF-f$RSPuKx{O zzx9>*xcV({{c&*pV-qi~hiUk(hfS`^$F=`E!_EH(-2Q(9*Z(Q;;`z1I)%m#A^97SHjJ|2X6jDpKz{=eY*2i#OUe+XRvHMsd7!1epx zTsyx%T>oXb`E%j=eQv3pzb{<>VYvCv!S%PjwRZllaQ)pAFRq8d_^!{5Z_D#t58dJB z_f9dARv+!1Z^zvv&TTaQ*w?=06G7-}0{7`8&h)f0KA| zJq*BiJ^ToFJuEXbAJ_bq6EEg(jBoyvaP!}RoBv@+{`dIiUvzg~r}q!D;O2h<_w($x zaQ)5i$@BGhfa@O$*B=MhKL_sp^9;ED9Ju}b5U&4O;>F`tcW*u~`*|tc{M+H?-;;PT z|5<$V54$fP*ZdRU=AV*yG5?SF=6AincK&W~^Y>1?m_HQX{KX!~^BcJyZVos9dbppb z?u6^V40k=e57+-1Za>>UnAfSlOyb4)u8Z${ABLO%D%|{cO7g$NH~+j@d7YlW_rcA7 z5#B)m--YXclz5!4_y0fOThD3_<@GqG!%gKs@|!#%!p;pPu}B(J}T<2xR%KNqh5DO|txqj`P< z`Afs~S4zCNem22(zI($P$v+lu{#S6X4|R{_b?UDH_xi92T>l`r{XYq=e+%6AuY2M8 zU&HlV&8}Vl#&G>@;O74p?tEL|`WKe)+u`Os3^(UfxaURd$7|24Bi#Ir;pX>(>;D$6 zKM3ys@9s3X$M-h4Igi3!|8wB_AHwy&hU@>Bc=3E$@`=1}o-bR&8#!MNf}8&e-1Fr< zxPIM}`MCCZNx1&@aQit3u74)n_54S;{>yOvxp4jVPv!ONuL#%Q3hsP+!1a%WJKsy; z`cJ^E=ViEl{nNGUUj?q;6K?(z@zzcwGh8 zfB5-4-+DfP>u)tD_vQPR@WV>@M7VvP0ylrr7xHnN=-cve{f*$}cZ2IUCSE*_d*gc? zkA}OhE{B`{6x{Rf6}bLVFXr>rUk$F`3$DKxT>l8T>*NHu{^M}Z)3@OIe^0!4o_>pO zKi7CEpRYMv!aa^V!1WJ=JFmfT{o~>KQ{nm-!o5$p8*YD|ft&ME;>G@ah;M(EdbxIg zHiBD!H@M^Wf?NOL@J7zBv*6}j4|m+#;rcJY_1}W)e+;+I&Hq}v4}Ib09|$*p3f%d= z0oPyTm3&;!_l@EDH^H0e=bdo;I5=@%mQ(w|ri%x4v-K^8mQ{ zAHbWK@8@v+17FR@)gKJkzaOqY8?N8swc7ce;QBkl?dNac`g#i?u|jix_v%%!PJuV9Q3dhel8alGb4}tKSMjg>k;FR}_&Ob{ApYB4am#Y% zcC36`w@vlSuY9vLt04Xxi*d{RK8ZI}XwFYts|tD)__%eeVAldaf4wS*KRb$BmVe;- z)$ijyTih~!c;b6k@vnSV;`mK2Nw8*#0MAn_ZwEhp#}cHMpZDpz)#tv z3PuUUgg`QzGl4RE>*r%>R-lB=w0P|7x=vR z!`HA)Eb!5NtNe)qzqP5#H(sRrHOrruPKfD6zGu~|8+Q1x0b@sxAA9IAbt76v3>rP5 zLXJFi@bCd+2OZinc>M5|0prFrj~v@PXxy+-BL|EfHgsfjcy0Koqv|#t(=xny({U|F zkIQ!&(=vM07``7iqIqb`fMFv+El0Na?NQCcsxOXd88Pa}mH~q&jBFk;Y|wyTdGp}G z^TSZ+*cJkZjcge+Zdj;lOv_;{gQ_nKYiVg2Fmn8emN6k}?6|=L#*d7pw+tRIvU%Kq zvEvU3lS*o3vV%sA9MoLh_1Afi9y4lC%h<8`b>%*JJjvH`f z^YHO4wWac+#*Kc7K*kL1w4rm!X6gVW5HXj`_riGVB zj2c|Kz_2E>lcu(iy;?b?!dY6eMugEu4XWF8?6@)GnhyzICyc0ktz0X{j2hfLuDPz# zi_rtNZSLAKWb;9X#M5!WwskE>w+tE|R%MrM>y92ae8AwAA=cp|2k@$no(WzsILEYRM(nOTjx<*|JPAl z*NoaKkJ{?Lj@qhb)RuYFmYJ|+bLSyLS_W-f?eUg%p4MG5X}*K^E1iGWU-5kM7Fopn za=_uesB(_}dIfgm^v*LRUSq@MKb~xz!)5lEmd&%g`9|6NzirGGzwSSOJpuop>zS`r zoom+B`PYVT+4;XN@z<#NOU&-p(|h^2WyDfbV%U)P2dy>BH5Wc2ctNC7;^+|Q4{n}N(#?O7RqI4Tmmwj#; z8Fr3Fwc0%5t2FMo995nb#~KzukwtN(e^(P{rr|d+?IbT;3_oM!JD6{>u{xyf4i(|*^rT$*6|JHQ;<9D^@ G|NjA~u;XC> literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/obj/xsim_1.c b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/obj/xsim_1.c new file mode 100644 index 0000000..1b69791 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/obj/xsim_1.c @@ -0,0 +1,116 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2020 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/**********************************************************************/ + +#if defined(_WIN32) + #include "stdio.h" + #define IKI_DLLESPEC __declspec(dllimport) +#else + #define IKI_DLLESPEC +#endif +#include "iki.h" +#include +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2020 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/**********************************************************************/ + +#if defined(_WIN32) + #include "stdio.h" + #define IKI_DLLESPEC __declspec(dllimport) +#else + #define IKI_DLLESPEC +#endif +#include "iki.h" +#include +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +typedef void (*funcp)(char *, char *); +extern int main(int, char**); +IKI_DLLESPEC extern void execute_36(char*, char *); +IKI_DLLESPEC extern void execute_37(char*, char *); +IKI_DLLESPEC extern void execute_38(char*, char *); +IKI_DLLESPEC extern void execute_39(char*, char *); +IKI_DLLESPEC extern void execute_40(char*, char *); +IKI_DLLESPEC extern void execute_34(char*, char *); +IKI_DLLESPEC extern void execute_35(char*, char *); +IKI_DLLESPEC extern void transaction_0(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_3(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void vhdl_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); +funcp funcTab[10] = {(funcp)execute_36, (funcp)execute_37, (funcp)execute_38, (funcp)execute_39, (funcp)execute_40, (funcp)execute_34, (funcp)execute_35, (funcp)transaction_0, (funcp)transaction_3, (funcp)vhdl_transfunc_eventcallback}; +const int NumRelocateId= 10; + +void relocate(char *dp) +{ + iki_relocate(dp, "xsim.dir/project_tb_edge_behav/xsim.reloc", (void **)funcTab, 10); + iki_vhdl_file_variable_register(dp + 535048); + iki_vhdl_file_variable_register(dp + 535104); + + + /*Populate the transaction function pointer field in the whole net structure */ +} + +void sensitize(char *dp) +{ + iki_sensitize(dp, "xsim.dir/project_tb_edge_behav/xsim.reloc"); +} + +void simulate(char *dp) +{ + iki_schedule_processes_at_time_zero(dp, "xsim.dir/project_tb_edge_behav/xsim.reloc"); + // Initialize Verilog nets in mixed simulation, for the cases when the value at time 0 should be propagated from the mixed language Vhdl net + iki_execute_processes(); + + // Schedule resolution functions for the multiply driven Verilog nets that have strength + // Schedule transaction functions for the singly driven Verilog nets that have strength + +} +#include "iki_bridge.h" +void relocate(char *); + +void sensitize(char *); + +void simulate(char *); + +extern SYSTEMCLIB_IMP_DLLSPEC void local_register_implicit_channel(int, char*); +extern SYSTEMCLIB_IMP_DLLSPEC int xsim_argc_copy ; +extern SYSTEMCLIB_IMP_DLLSPEC char** xsim_argv_copy ; + +int main(int argc, char **argv) +{ + iki_heap_initialize("ms", "isimmm", 0, 2147483648) ; + iki_set_xsimdir_location_if_remapped(argc, argv) ; + iki_set_sv_type_file_path_name("xsim.dir/project_tb_edge_behav/xsim.svtype"); + iki_set_crvs_dump_file_path_name("xsim.dir/project_tb_edge_behav/xsim.crvsdump"); + void* design_handle = iki_create_design("xsim.dir/project_tb_edge_behav/xsim.mem", (void *)relocate, (void *)sensitize, (void *)simulate, (void*)0, 0, isimBridge_getWdbWriter(), 0, argc, argv); + iki_set_rc_trial_count(100); + (void) design_handle; + return iki_simulate_design(); +} diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/obj/xsim_1.lnx64.o b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/obj/xsim_1.lnx64.o new file mode 100644 index 0000000000000000000000000000000000000000..c64ab7a7c8b4543f2b56d22c91a256359d919d2c GIT binary patch literal 4616 zcmb`KU1%It6vywTU$NFTsbAIlvDGTE>U8tb7)8r&+NNs_ZDlZpVbuQ`!*7sj5&HvH4#B%;p=XEfSftJZ}I4oQ(EnGQIfscI=M^`OvSoQj+EcRP%x+fAfvnbD^h0tZ_Tg-FxFK)c-VJ8Ma?@|zXnbG#!lQBf zzVJhG!uH*C*|}}ov$>v~yC)yd^$uFSR&TB^-#3^a=+CRJmeV^&&kB0TNOXwIS73bh zGKu<~)CS2M*()-0U77W3R&|~v<8{RDS1m#eqAX^+<~yQnC#mom0wYm}b9=UHj9S3Q z6cyq=l*A{A!?vRN2Pi4l+a1O1y7^_>v$>94*`8uHKb##ZW(%)nbK}`{)Lv9QX{R;? z=CfSbnR%3A0}-VrJ2-fdRdEp#ig+$3Yl9TIw^4>Og)`?H_2VTSOE%wa{_ZI^>ts z`i0syWq_Tv<*cklu2Zc}IqsqO`&bhfViT3O((~`NSnklAjv3wKEslHy!S@AUw%-Uy z0*)UW%=3UGNv?jr5KqP*R@SjSastQMt9jCXpJCr^*uP@%wFZAfbHu@zIR0A(M|NVq zpgC-jiaNOO@-`5=RkStigXU_$>yN4{|T_%YY={$Vtqv0Fr>Or-wNhgswaBfYRa@ zXH@VwhsPXqfq*}xwD`s65Ikpa*1LKc;mQIjv(o@vuCn73TaqU?Rae-&Yfy^S7|V!+u0pwiQM}Tvk}48{DxXITs15 z>_m>RrovEIK^+yC_gX_stCT9@Rx07E3`rA~TlamsJA_rMN7AAnv`>W*?vS`XQ)^mu z!#89Q9oDY0VowLSZ*P+1C=S*Z-;^l@uAtG7L{*(ZoW+7+12u=kPtwqvgF6Sld>;9n zVNbzv7n)K?cBC7V_(|f3`G5U;$rmyE=rM)+KW9SHdHg(%0XY*^Za@Lrir0{{@zJd z@{;bK|6?)dd2?B(2G-dIWt3bH-I%mJN*wol(tJ*XF*B6kL-ru5tf`9^|Mg>I#`TlQr^`xkzi9EXXJin=~?)R;!?&|58bh=+C zJCs`(-~HxLPJEY6*Tp9%xAN@1IC0S7lP6Cu@pwG(XL~%en|eHB&%s5wq_l);9?$$s zJ)UkgY*VTCV={T-eEJa`lz3{hOlQSIyw}tU_7*4SAnz;XEWwMgTOJQXJn6J#wbPb$ zQqHw2>-9Wd>E0?*M|&ll{1_jF?o`S^LKzDzZGRWtQ_G`#BlTF=6qPmhQ!o_6j^Sd>IwG@`gIDHP zip2g4uCW!0z52MzI&WhARx0*hE}c@O-{ElWw@R_Mt^`sf_I}8DDW3x;C)V$@*@=m) zmm;wbsM?8@_*m?s!o+s8rAX`uRXee=E*9(Qlh~QI6j}cu^f5?IES52()0QH!52Gra ze&w?ni=|&bZ7C8v67pGbVr33uvGkiuTZ+Vvg0ug!?v#0JR_v9zk|MG4`E-p)uKm7KfHCy)0 z4(XHFMT_O9fwlk6XGr2=vCMIAEmpoq<{r{oIjb7#lDBj?iMSFkPOu z;Sf@w_&Md-mK#gx7=Gxi_JV;>=nzs zO|;m+>0;xTd#}`DgT(5`OwQ-nzBOLv?Wo1x%{Kiw$oU+LW#4X8u~NzJ6+KqYXZd_u z`}S+c#M`vkQN$i+n~Xz_hn&x`*bn+9W@xdajaWIKW3lu*NQ)gqtbAV!DRTbCVrl1U zv15tVkAwVXiN!L8p<3)QIyC#$ufM~z*x%0}wh{;Dbp76^^?T77#MU~4*!tzfj?l*N zz!}6odj_$~%86z3DMjX0&NVrA^djqJxNhs+`jL6pi}WMcE9W}sY?JkJ&it?A-QL&! zi`E&9eSXW{y2ZQguiNo)TkqD-nH~qXak};6w%)BDxAku0cU%8=_2V4R_G-$cEz54} z-QL$94d;3CBH=;7%&0#)z#j|@44Q3!MkF)K)2C1G*oH_j8uDj{2Zl1Uf}U${?&0BP zPSEd9X_MyZ(Y1#sCzunC4D;uQ2IgjD`}2op8VULLi(QloerrG$VhoKNOILwU`$Pg(IQp zFl%d`yoO>i!NN>37@$8R5Qun6nt_aHhSnS!)EdEDPlzGwiCWvr)Y_zKEpn|v#@;g4 zvhrdrvSQ12PRJUj6{QYnW;iz*31@qHb?o8kd_&L9*Zb4E_UhiVizj3qq>y!tLh2Be z?6X>m9hQ)vIS>1-16XqOw4`S*l zG5J1D>Vd&%H0;+u5@oMV%8z8``|?9M{uEzsaHs_7pSq+WSpknPoEP==v+j-hQj=3# zCZ+oNhK6JW!amsl1OC+Hlr}6dpo~aBva>x_pS*-}f&&Ud*@1jt8%k2L zKfPD?9$oz@Daon+)RfdVzECcS+1dGjvfDEqRg_aA6#kpXbV{dxazvqEFz6hpfPKZ{ zD70$v_YAF^-v8nln-2&FhW&2`s=vhOgeyV>rv|7ckv#!U@P9ohuDFg_yS*I7k1+- z?7?3Agr9L3MaeyA8+7IEWko6!eYFIC3qW4u?$66jdfU$4cLfH*o^le_Zhb0eSClq@ew}8 zCy=??hR^Uhwqpl&;tPC1IMhH*$i0XwP#bkn7xAcv zhG>Mwkoyn`Xo_a=A`#7z1Rs)-f>g9bE3`%$+Tbc&jkaiqYtSAY&=H-`8C}p7*W!A} z{fC}N$4%&kKIn^E&=0pl?mgU&J8&oZBLf4Fi2#DQ8v~Jr5aixM4&=T;7!|7;j+--o{caLlKr^1y*7eR$~p;Vjb3F6E@== zyo>j+1zYhxKEQ|g2p{7Ue2VSZgT2^?ukj7`;{XofJA98HP>dgO7)S66e#KGzj^j9i zKX4Y;w6k#z&O=31!ug0p4b(&})J9#zqaNy`0pz;d2wwP*j1;7z1zMsN($EH1qb;sM zdvri2bVe6+$3JmBZa@#*h;;NuAN0j7xD~hK4%~^m&>tBXfJ_7sL>59Agu%#04ssDj z9_~Q|LogJD7>0XsABID|TSnkPjKO3)hQ~1lPvA*Bg=v_MS$G<=@hqOl3wRN8@Dg6d zYnX@E@gK~`8+a27un3Fs7M9>`EX6Xc#44=D8mz@Stj7jy#3pRUJ9roGVGFim8@6Ky zcH#?siCx%@udoMuu@7J401o0?9Kv__9zUQMKjJ6+jKesBqxcQS@H>v<1pdHD$W6Yp za5m0C1yn>ORL1$Z099}yF2cpAic3%paj1N;c-mC6L<>pjL0<1z)Z}-GnkEM@f@DV3wRN8 z@Dk?Y70koyn2!Zmh(%b8x3C0Du?$66julvmRalKRSc~=8fQ{IM&3Fgz;uHKA+wd7a z$9C+%PVB;Ne1$#Oi+%VS-(Wuu;2@6RHynf9e?E>A_yZ?Vfg4@tLhd(L#)Xjk$rqz4 zs^KzRjyTjnO~`%ZD^MGCA@_VmMblikq=!3qv1^sXLMQXP#+D@5RK3n zO^|@5Xa+A5(Hu$ep#@r^6W)AH{%}K-(Wuu;2?fLF@A*k_v5dulm8FO-^72w z`h%IjbI!$isE8`4i+I#W12jYeyl9Rjq(GiyxDu_<8fj>YPUwnjaUHs$J9^+o^h7#t zLO;m!1-Ic&+yy`SBLf2vL=JKhMjq}#1O<2)BQXl2F$QDt2p)y}kAFNSViG3fF+7eb zFiTcNdrh9I%Lp-3toCgACl+O{s?9vJZAUYn%J$M!Rhx1A{4TSMkcVa{V^wYD$xo!R z%2atMhB8~#W*%Q{WtOp3?A4Q1ZRT-FDYF#HgDR8}sy6fZNS0Z$4ga(q22r!zz?+sy6e~^w>e#YqC7JLP=A# znWv`54$@xZ<)7q~WL2AaYI^J-?KMpv5TSHXwV9`;#}3k7J5;wD-BfMnsp-)&RJ=Sm zLP=M(nWv`54$@xJ zAni4wrrk(ZwV9`;N6WAm<7(M;ysFJSH9e*B60WdUC9B%ZQ`1u_FRr$|Dz3JD=9_tH zdP?Q3YH{i(MbDFKlA4}UdFJ)gynd!+Egrl(Y%d3`bS)by0f zGp~bYo|>LgdFFM{%u~};D$l&mn|bo=PFcmg&YO94%SvLMdHpo=;$8C0^V-a-=aOe$ zcg?)|E_vp4*UW3+l4o9b&Af&#dGU4Z&qIQ$&Adh~c~$G$d2y;X^BTM4dE)K7s;V~g znz-a0Rq>VT+4*K(f=gbpia+X-*VH9%SAF|^_N&@_zh*9ZA2hJ@wyE08^Sb1%YG~(e zQni_v=#n?Tk)5|h)n;CEm%Q1H?Yz0FHuI8P@+LR2^QNlW%=5YAjYzQb#;V%POLoc2 zYij2es@lv;amm|cT<7)QRnkYQOWv+>@~(8rJJix1r?c67zZT90qdwZ|^m#3fc&B;1 zoV->}piy7i`tXy$#5>Kxa`M_b ffkr*PoV<2MywjXrPTn<6piwU@C$GH`?==4(XYF_f literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.mem b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.mem new file mode 100644 index 0000000000000000000000000000000000000000..d5a30128e4de8e3ef937079c36c650ce1fb1affb GIT binary patch literal 12745 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 C?RlaA literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.reloc b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsim.reloc new file mode 100644 index 0000000000000000000000000000000000000000..5654ef3152173b869dfe5ab31425b1dc8d4cef71 GIT binary patch literal 1035 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimSettings.ini b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimSettings.ini new file mode 100644 index 0000000..50bf1bb --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimSettings.ini @@ -0,0 +1,50 @@ +[General] +ARRAY_DISPLAY_LIMIT=512 +RADIX=hex +TIME_UNIT=ns +TRACE_LIMIT=2147483647 +VHDL_ENTITY_SCOPE_FILTER=true +VHDL_PACKAGE_SCOPE_FILTER=false +VHDL_BLOCK_SCOPE_FILTER=true +VHDL_PROCESS_SCOPE_FILTER=false +VHDL_PROCEDURE_SCOPE_FILTER=false +VERILOG_MODULE_SCOPE_FILTER=true +VERILOG_PACKAGE_SCOPE_FILTER=false +VERILOG_BLOCK_SCOPE_FILTER=false +VERILOG_TASK_SCOPE_FILTER=false +VERILOG_PROCESS_SCOPE_FILTER=false +INPUT_OBJECT_FILTER=true +OUTPUT_OBJECT_FILTER=true +INOUT_OBJECT_FILTER=true +INTERNAL_OBJECT_FILTER=true +CONSTANT_OBJECT_FILTER=true +VARIABLE_OBJECT_FILTER=true +INPUT_PROTOINST_FILTER=true +OUTPUT_PROTOINST_FILTER=true +INOUT_PROTOINST_FILTER=true +INTERNAL_PROTOINST_FILTER=true +CONSTANT_PROTOINST_FILTER=true +VARIABLE_PROTOINST_FILTER=true +SCOPE_NAME_COLUMN_WIDTH=156 +SCOPE_DESIGN_UNIT_COLUMN_WIDTH=251 +SCOPE_BLOCK_TYPE_COLUMN_WIDTH=91 +OBJECT_NAME_COLUMN_WIDTH=191 +OBJECT_VALUE_COLUMN_WIDTH=1024 +OBJECT_DATA_TYPE_COLUMN_WIDTH=76 +PROCESS_NAME_COLUMN_WIDTH=75 +PROCESS_TYPE_COLUMN_WIDTH=75 +FRAME_INDEX_COLUMN_WIDTH=75 +FRAME_NAME_COLUMN_WIDTH=75 +FRAME_FILE_NAME_COLUMN_WIDTH=75 +FRAME_LINE_NUM_COLUMN_WIDTH=75 +LOCAL_NAME_COLUMN_WIDTH=75 +LOCAL_VALUE_COLUMN_WIDTH=75 +LOCAL_DATA_TYPE_COLUMN_WIDTH=0 +PROTO_NAME_COLUMN_WIDTH=0 +PROTO_VALUE_COLUMN_WIDTH=0 +INPUT_LOCAL_FILTER=1 +OUTPUT_LOCAL_FILTER=1 +INOUT_LOCAL_FILTER=1 +INTERNAL_LOCAL_FILTER=1 +CONSTANT_LOCAL_FILTER=1 +VARIABLE_LOCAL_FILTER=1 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimcrash.log b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimcrash.log new file mode 100644 index 0000000..e69de29 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimk b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimk new file mode 100755 index 0000000000000000000000000000000000000000..face02d78727260595f81cadcfffc1dc18c2241b GIT binary patch literal 148048 zcmeFa33O9c*EgQh7OJ8}q*{F*6}2jgGB|>Ywoo+1qKt}Tfl{DQptfa3Xb7o|A%KF4 zii$G|0t!N*P>O{XXVeEpAC)@afC^5C6a9X_eeO+9rjqn~zyDhQwcae6WS_I=v-dv3 zy}8WloqcVKxHy~jYGJ$DM(Ds<>C&X$ZMFqhv=EqY>9%gRaN ze71=f&}MxmDbU7d()Ba@`^BeAkM;R)fowMG)6$Tiq-%Von_tyu`pF8kK5cCjOu9sV zZO=En+NaBh_4(u;CBgdC>6E+{3g6Z<;Irab1zMjv9eq=Ns-i1DRnb|WJ4_>XTE>`q z5}S03O}fP~`h3Q;%lfqJ>km5m zGuoFq47LHLyh!6WMX6!4K25c4oeT1ZUv^37f)N)MC*%86{GE@#bMVL4)%d##f1UBy5r605uM__GIt71S@plIPPQ+gi{H5UU z8vI>>zsvAP8!pG6l4!GCitnf4?_B(~!(RsePQc$K_~VP7yimS1zM1Cv8-jgk+3QEZ zm!t7_6#lF+W8ZOn!^=z)TROf=9~GDH7Ol$ z^cP<}d+++b@~iu2e0dU_lY34ID*`U2>zLm;0mYbTM_ttAEBM&9ga^+40gEoya;lc zYvJ&Zjv)8)2>!80uyP1buczz~38zfA0wT z4~n2?K?MGHM9}A8gmGCLL7xvI=yOE`{^=3;d={boUlH_g7XiO0f*)o_(5E5-{>2ge z@MHviMn~XtX#_ooMc~sA0spxO`fQ3|*PICa?}#v7U~g-Wzu?zXXb2b2{UYe|LIi!L zBEQ;THtBa}&j1l~rTrA!kf8QbvppE!mXkAT+=THt#U;avN^){+`D62QhK(4JGh*ua zVdL_1b0!bVFOkMcqem3vjLa{{%b7H+D1X>+d@0Hsm0w(vS0w#KdE+Kb$_u5-&&$ip z89#AcUJT(_ z0;`LM<(A}gAb*LHQclU#!aOzjg~Lil=O8rlghz47xRRU+8qDTo8iP4;=X1qDjR$BPNb33^(-S zFnSYm8{JsIfSoj~U}9eQz!PzS)g(x`u|KanKrjn6B;@Z za`MKHuw9p()w5U5MV-1{;{SSa^V)OW_`qA$H%oo9Jo%9Ia;w)XQiJYc?d zpRU#c1i5FoUiDf#_xRS!Zmtg~8%w0dS9`^Wdsg;YuOzKq_eLA7oqn-isaiXhF#cD2 zt=&{z`Z{Rslx@AbXzkX1oPFK2cAf!PuXL@Q=L6QuuC?p?{(f4!wZA9L5Ut%hOJMs@ zt=&3nVEbsT-8xHPd!g2Do%OJNiq_6E2kTX;wd?D|a;=?bDb{O&*3PpQ>$O;G=Xs6w zTB^14JjZ%1)7p7XVZBys?L0HFUKLuqc?2q5)ml5xM6A~itzAF7*r~PiT*`Xw*4lZN zWWDOOcAmXhFGFi@Z#ClcfYyG7)_zE9KT~VBozWQoXKC$8T6>z--bQObTWe3%+RxG2 z+iUGSAG2N^w052^S+6cy`*~I)KD%k{Jj=6Q=~_F_@~oF#Yv;L@_3Ed!>t}L9w07$( zkTgTJcAghnuhCk⪚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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimkernel.log b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimkernel.log new file mode 100644 index 0000000..c19589a --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_edge_behav/xsimkernel.log @@ -0,0 +1,7 @@ +Running: xsim.dir/project_tb_edge_behav/xsimk -simmode gui -wdb project_tb_edge_behav.wdb -simrunnum 0 -socket 59621 +Design successfully loaded +Design Loading Memory Usage: 198404 KB (Peak: 198404 KB) +Design Loading CPU Usage: 680 ms +Simulation completed +Simulation Memory Usage: 291592 KB (Peak: 337672 KB) +Simulation CPU Usage: 710 ms diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/Compile_Options.txt b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/Compile_Options.txt new file mode 100644 index 0000000..43596fa --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/Compile_Options.txt @@ -0,0 +1 @@ +--incr --debug "typical" --relax --mt "8" -L "xil_defaultlib" -L "secureip" --snapshot "project_tb_timing_behav" "xil_defaultlib.project_tb_timing" -log "elaborate.log" diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/TempBreakPointFile.txt b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/TempBreakPointFile.txt new file mode 100644 index 0000000..fdbc612 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/TempBreakPointFile.txt @@ -0,0 +1 @@ +Breakpoint File Version 1.0 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/obj/xsim_0.lnx64.o b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/obj/xsim_0.lnx64.o new file mode 100644 index 0000000000000000000000000000000000000000..f5ed70a436c29a14650fdc88ee19768db0ed0467 GIT binary patch literal 48176 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 A!vFvP literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/obj/xsim_1.c b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/obj/xsim_1.c new file mode 100644 index 0000000..a95fd1a --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/obj/xsim_1.c @@ -0,0 +1,115 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2020 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/**********************************************************************/ + +#if defined(_WIN32) + #include "stdio.h" + #define IKI_DLLESPEC __declspec(dllimport) +#else + #define IKI_DLLESPEC +#endif +#include "iki.h" +#include +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2020 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/**********************************************************************/ + +#if defined(_WIN32) + #include "stdio.h" + #define IKI_DLLESPEC __declspec(dllimport) +#else + #define IKI_DLLESPEC +#endif +#include "iki.h" +#include +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +typedef void (*funcp)(char *, char *); +extern int main(int, char**); +IKI_DLLESPEC extern void execute_36(char*, char *); +IKI_DLLESPEC extern void execute_37(char*, char *); +IKI_DLLESPEC extern void execute_38(char*, char *); +IKI_DLLESPEC extern void execute_39(char*, char *); +IKI_DLLESPEC extern void execute_34(char*, char *); +IKI_DLLESPEC extern void execute_35(char*, char *); +IKI_DLLESPEC extern void transaction_0(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_3(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void vhdl_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); +funcp funcTab[9] = {(funcp)execute_36, (funcp)execute_37, (funcp)execute_38, (funcp)execute_39, (funcp)execute_34, (funcp)execute_35, (funcp)transaction_0, (funcp)transaction_3, (funcp)vhdl_transfunc_eventcallback}; +const int NumRelocateId= 9; + +void relocate(char *dp) +{ + iki_relocate(dp, "xsim.dir/project_tb_timing_behav/xsim.reloc", (void **)funcTab, 9); + iki_vhdl_file_variable_register(dp + 534752); + iki_vhdl_file_variable_register(dp + 534808); + + + /*Populate the transaction function pointer field in the whole net structure */ +} + +void sensitize(char *dp) +{ + iki_sensitize(dp, "xsim.dir/project_tb_timing_behav/xsim.reloc"); +} + +void simulate(char *dp) +{ + iki_schedule_processes_at_time_zero(dp, "xsim.dir/project_tb_timing_behav/xsim.reloc"); + // Initialize Verilog nets in mixed simulation, for the cases when the value at time 0 should be propagated from the mixed language Vhdl net + iki_execute_processes(); + + // Schedule resolution functions for the multiply driven Verilog nets that have strength + // Schedule transaction functions for the singly driven Verilog nets that have strength + +} +#include "iki_bridge.h" +void relocate(char *); + +void sensitize(char *); + +void simulate(char *); + +extern SYSTEMCLIB_IMP_DLLSPEC void local_register_implicit_channel(int, char*); +extern SYSTEMCLIB_IMP_DLLSPEC int xsim_argc_copy ; +extern SYSTEMCLIB_IMP_DLLSPEC char** xsim_argv_copy ; + +int main(int argc, char **argv) +{ + iki_heap_initialize("ms", "isimmm", 0, 2147483648) ; + iki_set_xsimdir_location_if_remapped(argc, argv) ; + iki_set_sv_type_file_path_name("xsim.dir/project_tb_timing_behav/xsim.svtype"); + iki_set_crvs_dump_file_path_name("xsim.dir/project_tb_timing_behav/xsim.crvsdump"); + void* design_handle = iki_create_design("xsim.dir/project_tb_timing_behav/xsim.mem", (void *)relocate, (void *)sensitize, (void *)simulate, (void*)0, 0, isimBridge_getWdbWriter(), 0, argc, argv); + iki_set_rc_trial_count(100); + (void) design_handle; + return iki_simulate_design(); +} diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/obj/xsim_1.lnx64.o b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/obj/xsim_1.lnx64.o new file mode 100644 index 0000000000000000000000000000000000000000..daae89eb9c87232dfe3a271e5193223a3cdf57d4 GIT binary patch literal 4544 zcmb`KO^g&p6vu03`B)Lh-Suk~KL$m!7;R>DVO@=qnFW>+H?Y}{kcg(~>8agmn4THC zd&Y&tpjl(G5)z^Zj2^^;UQ7%}frBOxqbK!ZJZLmt^k57gxQGe9e{~g8TTCa!@RII& z^{e+@eNMfeW4k6N(y0_vl49Fgr=}=lh1)b;s0B8_`q@lr`O4W_2$YWB1zb9@4aFa^ ze*V{?-fQ~cW~m>zP+I!4cZKEB#op^+90M(LGjLeGQd+)zmIA+iE{-mGDxG)^wb*$1 zujOB4*BaFofd+Qq->Wa!WnOjKTZBQtYYi7Yu^Y1w+tHCGzj1pvXor=S-@MWIKKGeN zBlmsghYZ_y(`5IK9nWNkcJH0roXw9~c`KhC&JB;|wvOaP7pv%@e^(B}( zb19>KC$&LRN2gh8u`jh@{o3A>WIRahe$m3%D9U1{Zz&yRdP#-P7#N8-lshwhQ`7=J zB`9O}p(H*>9JW=-KR`*b-bxoUgG)U-GuiZ>%uq3t8_$dtGlf?&*_q5BwHHNC(y2>< z`K)4pU+vPwdalj3)4EQmSe2D>yQr>N38@yZ%Nn-UXt`I^SF?DvJB<%Yez1dt_K4&s z4Zer!1KK#n8WS6$r_ZoObvr%%467eYNtP2-cC(*J;I9%#zp6j6f5gHB`!}Th3sgeH zzEb%%J>B~KEP-Dnj()|Dj&yMjsQf0u{^taqrj75`@5Tf^p1@yB;I#z4l)z6B@7GQV zeru4A6YS3<@bd}$s|5ai0{L|z z;0sW~pkM>u}`vXr+(+xOH&93m!TZo5<;RLQ7(W2CBx6!Ic z@c`s1DAT$Em!Po`0{#a);z}tmuC3aO4>XemC${_L~4n!13{*cn*-n zs6d-$xZwHnti`!|B}WBH2#|8h=Vby_-|?)Sx50@$zh8eqxicT z$DOSB`;sF*vXtTpYy1<*VUOIU>_3$p_V;M~jK;AS%KmG~v5&ZK75`S_8IAv- zaeVJ6d)(s?j0f3E@!tSRFdpPo#V-MpfFsu^ei@Jid;>j-gF)yTV-E-|eyL0e9_Qwm zV=fTzhlCct)HwvtYFz2y8#O*8b?}EZp3``o`(uD_APDR?2`zpVqz?Y5)KO%mj&;MM zOGW`#%mh^}HQjDonVDvfSt$BOu3#H@-FIm{}DA+v%8DlpGm zV=Jqa0^(LG;VTSDW0u?SeYzf)Rc}Pxq7Tw1!wAq^t3(aTJJk^Z!R0tTX(TpDOoBfBg)@Wt9Y2TV2dL?p?$( z=ie*+OS&`ZS)-2oyxaaAL~5A9QU|suFjn~E;W7`j-4U}F-`x|5}a0svNZkQA>M8M#$=*DDE+X0 z$kWPStzWmk;Zl$rdQz6SmytJ2e=u|J39;|w4?1g1%v?X@@NWL^$?<=LV49fz{{aZd BstW)B literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.dbg b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.dbg new file mode 100644 index 0000000000000000000000000000000000000000..36aef2b48f6553186878d96733f1837f450b6056 GIT binary patch literal 9800 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.reloc b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsim.reloc new file mode 100644 index 0000000000000000000000000000000000000000..07141c3818464720f10ce7b25795ccfc018fe6b5 GIT binary patch literal 1025 zcmV+c1pfQ^0{{R30001Z0lk(hw5wJShIilTo3^(teO}so+fr5fK7B4^Boc{4Mj|7T zk;q6S5{ZmNMk0~Oh>Gqx^UYePySA$lhyP<{lYKJt?_o)IPCmP@^%`@{?fQ-0pI*FA zb9=acNx6Y<@DV=iGB?00Ji@1!b^Quo;SD~%qVXitg&Um0-K*>eUf=?5U(@&jp5X>= zUe|aBPw*M8-_ZC35AX#p-_-aD_wWW6k;bEMb^je4!}(hp-@`3jz}edxKf(>%!pS=t z@8KLC;1!->_ek@va1Zak)BR0w1lR9sehweuJ)FL$@fvR61Dw3C@e^Fb9UR3PzrZCt z!|nr(yYF>>dw2(La0-_nYJLX0kCZE057)LHUf|gJ@(2AsoblnOfAaXVviW0z z%^w?V{`J;lZel=|MYhm-x2{!)>aHrdFBW(UzVe`)hn}3pDbz$+b)-{E1a0%z1 zXuN_~_ylL4YP^H5@Cc`mH9o;JyueAK@fE(nyWezw(PtWu;1SMX_qoRJ;2tjF4X)ts ziRK^S1#aQ?sm4cmh9|iBLgO1e!8f@6Qse3Gy8i*r;PNYt7w{P_;XQMwhfnyT`ct20 zyfAli{K+ymk{9dOxQ2Ml9C3f>b9S)Jp<6I_BIbt8nTR=I>m9u3TzAX~i*Lc4*@E~I z%$bEbGH|ZU!JN4=M=X8`=FCO^Eobo&wmCC0M=ah4bEapGSiB47%)#ae`>TRElQAc3 zeFEE@*@E~2+nhNEbEOOBNE^(JCYTeA%?0XP8*`4g%mLe91KXUagSl|z9I$#GU^_P| z&H+0oDtvGG1#IWU9^c!!P~daR&tW?kGJJ05K!%SkKY{HWi14xb-r-yG`4;$k34A;U zzMTS}GIjrTiFm&oeB_2FC$IlPUt|S2S1k-BC-?EwvQgP&3g7>Lj|PHllO$v)2hVkoyre v5bdae=2egdrdAhtAGx1D0iIVLkbm0`~q5} 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 bjq6)^rr%L>pLzn@t3 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsimSettings.ini b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsimSettings.ini new file mode 100644 index 0000000..f5861df --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsimSettings.ini @@ -0,0 +1,50 @@ +[General] +ARRAY_DISPLAY_LIMIT=512 +RADIX=hex +TIME_UNIT=ns +TRACE_LIMIT=2147483647 +VHDL_ENTITY_SCOPE_FILTER=true +VHDL_PACKAGE_SCOPE_FILTER=false +VHDL_BLOCK_SCOPE_FILTER=true +VHDL_PROCESS_SCOPE_FILTER=false +VHDL_PROCEDURE_SCOPE_FILTER=false +VERILOG_MODULE_SCOPE_FILTER=true +VERILOG_PACKAGE_SCOPE_FILTER=false +VERILOG_BLOCK_SCOPE_FILTER=false +VERILOG_TASK_SCOPE_FILTER=false +VERILOG_PROCESS_SCOPE_FILTER=false +INPUT_OBJECT_FILTER=true +OUTPUT_OBJECT_FILTER=true +INOUT_OBJECT_FILTER=true +INTERNAL_OBJECT_FILTER=true +CONSTANT_OBJECT_FILTER=true +VARIABLE_OBJECT_FILTER=true +INPUT_PROTOINST_FILTER=true +OUTPUT_PROTOINST_FILTER=true +INOUT_PROTOINST_FILTER=true +INTERNAL_PROTOINST_FILTER=true +CONSTANT_PROTOINST_FILTER=true +VARIABLE_PROTOINST_FILTER=true +SCOPE_NAME_COLUMN_WIDTH=168 +SCOPE_DESIGN_UNIT_COLUMN_WIDTH=202 +SCOPE_BLOCK_TYPE_COLUMN_WIDTH=91 +OBJECT_NAME_COLUMN_WIDTH=191 +OBJECT_VALUE_COLUMN_WIDTH=5823 +OBJECT_DATA_TYPE_COLUMN_WIDTH=96 +PROCESS_NAME_COLUMN_WIDTH=75 +PROCESS_TYPE_COLUMN_WIDTH=75 +FRAME_INDEX_COLUMN_WIDTH=75 +FRAME_NAME_COLUMN_WIDTH=75 +FRAME_FILE_NAME_COLUMN_WIDTH=75 +FRAME_LINE_NUM_COLUMN_WIDTH=75 +LOCAL_NAME_COLUMN_WIDTH=75 +LOCAL_VALUE_COLUMN_WIDTH=75 +LOCAL_DATA_TYPE_COLUMN_WIDTH=0 +PROTO_NAME_COLUMN_WIDTH=0 +PROTO_VALUE_COLUMN_WIDTH=0 +INPUT_LOCAL_FILTER=1 +OUTPUT_LOCAL_FILTER=1 +INOUT_LOCAL_FILTER=1 +INTERNAL_LOCAL_FILTER=1 +CONSTANT_LOCAL_FILTER=1 +VARIABLE_LOCAL_FILTER=1 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsimcrash.log b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsimcrash.log new file mode 100644 index 0000000..e69de29 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsimk b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/project_tb_timing_behav/xsimk new file mode 100755 index 0000000000000000000000000000000000000000..724bbf6de0f4e2cdb5fb1df4c21ca692f1a07e7a GIT binary patch literal 49224 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 Z9|F?rGBoOTBo9%7X9M&)o&N7j{|AmrWYquw literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/xil_defaultlib/project_tb_edge.vdb b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/xil_defaultlib/project_tb_edge.vdb new file mode 100644 index 0000000000000000000000000000000000000000..bed12dc8650d12bd6616f4b99a0ea0b4fd246587 GIT binary patch literal 139571 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 W38yhmC(3u^IYt0?%s;F-?0*4(ED6#8 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/xil_defaultlib/project_tb_timing.vdb b/progetto_reti_logiche.sim/sim_1/behav/xsim/xsim.dir/xil_defaultlib/project_tb_timing.vdb new file mode 100644 index 0000000000000000000000000000000000000000..67ab5370bf0179820d5f6a3c6c660aada3322b33 GIT binary patch literal 27198 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 | tee compile.log + +# compile VHDL design sources +echo "xvhdl --incr --relax -prj project_tb_edge_vhdl.prj" +xvhdl --incr --relax -prj project_tb_edge_vhdl.prj 2>&1 | tee -a compile.log + +echo "Waiting for jobs to finish..." +echo "No pending jobs, compilation finished." diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/elaborate.log b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/elaborate.log new file mode 100644 index 0000000..81bee70 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/elaborate.log @@ -0,0 +1,36 @@ +Vivado Simulator v2025.2 +Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +Running: /opt/Xilinx/2025.2/Vivado/bin/unwrapped/lnx64.o/xelab --incr --debug typical --relax --mt 8 -L xil_defaultlib -L unisims_ver -L secureip --snapshot project_tb_edge_func_synth xil_defaultlib.project_tb_edge xil_defaultlib.glbl -log elaborate.log +Using 8 slave threads. +Starting static elaboration +Pass Through NonSizing Optimizer +Completed static elaboration +Starting simulation data flow analysis +Completed simulation data flow analysis +Time Resolution for simulation is 1ps +Compiling package std.standard +Compiling package std.textio +Compiling package ieee.std_logic_1164 +Compiling package ieee.numeric_std +Compiling package vl.vl_types +Compiling module xil_defaultlib.glbl +Compiling module unisims_ver.x_lut2_mux4 +Compiling module unisims_ver.LUT2 +Compiling module unisims_ver.LUT4 +Compiling module unisims_ver.LUT5 +Compiling module unisims_ver.x_lut1_mux2 +Compiling module unisims_ver.LUT1 +Compiling module unisims_ver.x_lut3_mux8 +Compiling module unisims_ver.LUT3 +Compiling module unisims_ver.LUT6 +Compiling module unisims_ver.FDPE_default +Compiling module unisims_ver.FDCE_default +Compiling module unisims_ver.CARRY4 +Compiling module unisims_ver.FDRE_default +Compiling module unisims_ver.BUFG +Compiling module unisims_ver.IBUF +Compiling module unisims_ver.OBUF +Compiling module xil_defaultlib.project_reti_logiche +Compiling architecture project_tb_edge_arch of entity xil_defaultlib.project_tb_edge +Built simulation snapshot project_tb_edge_func_synth diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/elaborate.sh b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/elaborate.sh new file mode 100755 index 0000000..8c6335f --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/elaborate.sh @@ -0,0 +1,26 @@ +#!/bin/bash -f +# **************************************************************************** +# Vivado (TM) v2025.2 (64-bit) +# +# Filename : elaborate.sh +# Simulator : AMD Vivado Simulator +# Description : Script for elaborating the compiled design +# +# Generated by Vivado on Fri Jun 12 15:48:17 CEST 2026 +# SW Build 6299465 on Fri Nov 14 12:34:56 MST 2025 +# +# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +# Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +# +# usage: elaborate.sh +# +# **************************************************************************** +export SIM_VER_XSIM=2025.2 +export GCC_VER_XSIM=9.3.0 + +# catch pipeline exit status +set -Eeuo pipefail +# elaborate design +echo "xelab --incr --debug typical --relax --mt 8 -L xil_defaultlib -L unisims_ver -L secureip --snapshot project_tb_edge_func_synth xil_defaultlib.project_tb_edge xil_defaultlib.glbl -log elaborate.log" +xelab --incr --debug typical --relax --mt 8 -L xil_defaultlib -L unisims_ver -L secureip --snapshot project_tb_edge_func_synth xil_defaultlib.project_tb_edge xil_defaultlib.glbl -log elaborate.log + diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/hs_err_pid131429.log b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/hs_err_pid131429.log new file mode 100644 index 0000000..b83a9b4 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/hs_err_pid131429.log @@ -0,0 +1,24 @@ +# +# An unexpected error has occurred (11) Segmentation fault +# +Stack: +/opt/vivado/2025.2/Vivado/tps/lnx64/jre21.0.5_11/lib//server/libjvm.so(+0xe7195c) [0x7ff9b8e7195c] +/opt/vivado/2025.2/Vivado/tps/lnx64/jre21.0.5_11/lib//server/libjvm.so(JVM_handle_linux_signal+0x23e) [0x7ff9b8e7242e] +/usr/lib/libc.so.6(+0x3e2d0) [0x7ff9f884d2d0] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(+0x34ebcb) [0x7ff9c5d4ebcb] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(SimBridge::DataObjMgr::createDrawingBTree(std::vector > const&, ISIM::IGuiStatus*, bool)+0x211) [0x7ff9c5d4f1e1] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(SimBridge::DataReader::getTransitions(SimBridge::IDataObj const*, long long, long long, long long, SimBridge::ValueFormat const&, std::vector >&) const+0x6f) [0x7ff9c5d6a6ff] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(SG_Model::ModelImp::getTransitions(SimBridge::IDataObj const*, SG_Model::IDatabase*, long long, long long, long long, SimBridge::ValueFormat const&, bool, std::vector >&) const+0xb7) [0x7ff9c5dc2cd7] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(SG_Model::Model::getTransitions(SG_Model::WVDataObject const*, long long, long long, long long, SimBridge::ValueFormat const&, bool, std::vector >&) const+0x128) [0x7ff9c5dc60c8] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(+0x3a9596) [0x7ff9c5da9596] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(SG_Model::WaveformRender::render(SG_Model::WVDataObject const&)+0x294) [0x7ff9c5da3f64] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVWaveformPanel::WaveformTraverser::drawWaveform(SG_Model::WVDataObject const*, int, int)+0x2cf) [0x7ff9c5df1b2f] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVWaveformPanel::WaveformTraverser::handleItemSize(WaveViewer::WVTreeWVObjectModel::ITraverseHandler::TraverseItem const&)+0x54) [0x7ff9c5df1ca4] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVTreeWVObjectModel::traverseYRange(SG_Model::WVDataObject const*, WaveViewer::WVTreeWVObjectModel::ITraverseHandler&, int, int, int&, int&) const+0x1a7) [0x7ff9c5c391a7] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVTreeWVObjectModel::traverseYRange(SG_Model::WVDataObject const*, WaveViewer::WVTreeWVObjectModel::ITraverseHandler&, int, int, int&, int&) const+0x22c) [0x7ff9c5c3922c] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVTreeWVObjectModel::traverseYRange(WaveViewer::WVTreeWVObjectModel::ITraverseHandler&, int, int) const+0x58) [0x7ff9c5c3a8e8] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WaveViewer::WVWaveformPanel::getGraphics(HDGDStringStream&, long&)+0x3de) [0x7ff9c5df137e] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WVExecutiveImp::getGraphicsDataSize()+0x9a) [0x7ff9c5e037da] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(WVExecutive::getGraphicsDataSize()+0x12) [0x7ff9c5e03c62] +/opt/vivado/2025.2/Vivado/lib/lnx64.o/libxv_wavedata.so(Java_ui_views_waveform_waveformi_WVExecutive_1getGraphicsDataSize+0x1c) [0x7ff9c5c050dc] +[0x7ff9a937ac6a] diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb.tcl b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb.tcl new file mode 100644 index 0000000..1094e45 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb.tcl @@ -0,0 +1,11 @@ +set curr_wave [current_wave_config] +if { [string length $curr_wave] == 0 } { + if { [llength [get_objects]] > 0} { + add_wave / + set_property needs_save false [current_wave_config] + } else { + send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." + } +} + +run 1000ns diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge.tcl b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge.tcl new file mode 100644 index 0000000..fe47dd3 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge.tcl @@ -0,0 +1,11 @@ +set curr_wave [current_wave_config] +if { [string length $curr_wave] == 0 } { + if { [llength [get_objects]] > 0} { + add_wave / + set_property needs_save false [current_wave_config] + } else { + send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." + } +} + +run all diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge_func_synth.v b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge_func_synth.v new file mode 100644 index 0000000..0af6440 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge_func_synth.v @@ -0,0 +1,3225 @@ +// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +// -------------------------------------------------------------------------------- +// Tool Version: Vivado v.2025.2 (lin64) Build 6299465 Fri Nov 14 12:34:56 MST 2025 +// Date : Fri Jun 12 15:48:15 2026 +// Host : cachyos-x8664 running 64-bit CachyOS +// Command : write_verilog -mode funcsim -nolib -force -file +// /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge_func_synth.v +// Design : project_reti_logiche +// Purpose : This verilog netlist is a functional simulation representation of the design and should not be modified +// or synthesized. This netlist cannot be used for SDF annotated simulation. +// Device : xc7a200tfbg484-1 +// -------------------------------------------------------------------------------- +`timescale 1 ps / 1 ps + +(* NotValidForBitStream *) +module project_reti_logiche + (i_clk, + i_rst, + i_start, + i_task_id, + i_task_priority, + i_op, + o_done, + o_task_id, + o_mem_addr, + i_mem_data, + o_mem_data, + o_mem_we, + o_mem_en); + input i_clk; + input i_rst; + input i_start; + input [5:0]i_task_id; + input [1:0]i_task_priority; + input [1:0]i_op; + output o_done; + output [5:0]o_task_id; + output [15:0]o_mem_addr; + input [7:0]i_mem_data; + output [7:0]o_mem_data; + output o_mem_we; + output o_mem_en; + + wire \FSM_onehot_state[10]_i_1_n_0 ; + wire \FSM_onehot_state[11]_i_1_n_0 ; + wire \FSM_onehot_state[12]_i_10_n_0 ; + wire \FSM_onehot_state[12]_i_11_n_0 ; + wire \FSM_onehot_state[12]_i_1_n_0 ; + wire \FSM_onehot_state[12]_i_4_n_0 ; + wire \FSM_onehot_state[12]_i_5_n_0 ; + wire \FSM_onehot_state[12]_i_6_n_0 ; + wire \FSM_onehot_state[12]_i_7_n_0 ; + wire \FSM_onehot_state[12]_i_8_n_0 ; + wire \FSM_onehot_state[12]_i_9_n_0 ; + wire \FSM_onehot_state[14]_i_1_n_0 ; + wire \FSM_onehot_state[15]_i_1_n_0 ; + wire \FSM_onehot_state[15]_i_2_n_0 ; + wire \FSM_onehot_state[15]_i_3_n_0 ; + wire \FSM_onehot_state[17]_i_1_n_0 ; + wire \FSM_onehot_state[17]_i_2_n_0 ; + wire \FSM_onehot_state[17]_i_3_n_0 ; + wire \FSM_onehot_state[17]_i_4_n_0 ; + wire \FSM_onehot_state[17]_i_5_n_0 ; + wire \FSM_onehot_state[19]_i_1_n_0 ; + wire \FSM_onehot_state[19]_i_2_n_0 ; + wire \FSM_onehot_state[1]_i_1_n_0 ; + wire \FSM_onehot_state[1]_i_2_n_0 ; + wire \FSM_onehot_state[1]_i_3_n_0 ; + wire \FSM_onehot_state[1]_i_4_n_0 ; + wire \FSM_onehot_state[1]_i_5_n_0 ; + wire \FSM_onehot_state[21]_i_1_n_0 ; + wire \FSM_onehot_state[21]_i_2_n_0 ; + wire \FSM_onehot_state[21]_i_3_n_0 ; + wire \FSM_onehot_state[21]_i_4_n_0 ; + wire \FSM_onehot_state[21]_i_5_n_0 ; + wire \FSM_onehot_state[21]_i_6_n_0 ; + wire \FSM_onehot_state[21]_i_7_n_0 ; + wire \FSM_onehot_state[22]_i_1_n_0 ; + wire \FSM_onehot_state[23]_i_1_n_0 ; + wire \FSM_onehot_state[23]_i_2_n_0 ; + wire \FSM_onehot_state[23]_i_3_n_0 ; + wire \FSM_onehot_state[23]_i_4_n_0 ; + wire \FSM_onehot_state[23]_i_5_n_0 ; + wire \FSM_onehot_state[23]_i_6_n_0 ; + wire \FSM_onehot_state[3]_i_1_n_0 ; + wire \FSM_onehot_state[4]_i_1_n_0 ; + wire \FSM_onehot_state[6]_i_1_n_0 ; + wire \FSM_onehot_state[7]_i_1_n_0 ; + wire \FSM_onehot_state[8]_i_1_n_0 ; + wire \FSM_onehot_state[8]_i_2_n_0 ; + wire \FSM_onehot_state_reg[12]_i_2_n_2 ; + wire \FSM_onehot_state_reg[12]_i_2_n_3 ; + wire \FSM_onehot_state_reg[12]_i_3_n_0 ; + wire \FSM_onehot_state_reg[12]_i_3_n_1 ; + wire \FSM_onehot_state_reg[12]_i_3_n_2 ; + wire \FSM_onehot_state_reg[12]_i_3_n_3 ; + wire \FSM_onehot_state_reg_n_0_[0] ; + wire \FSM_onehot_state_reg_n_0_[10] ; + wire \FSM_onehot_state_reg_n_0_[11] ; + wire \FSM_onehot_state_reg_n_0_[12] ; + wire \FSM_onehot_state_reg_n_0_[13] ; + wire \FSM_onehot_state_reg_n_0_[14] ; + wire \FSM_onehot_state_reg_n_0_[15] ; + wire \FSM_onehot_state_reg_n_0_[16] ; + wire \FSM_onehot_state_reg_n_0_[17] ; + wire \FSM_onehot_state_reg_n_0_[18] ; + wire \FSM_onehot_state_reg_n_0_[19] ; + wire \FSM_onehot_state_reg_n_0_[1] ; + wire \FSM_onehot_state_reg_n_0_[20] ; + wire \FSM_onehot_state_reg_n_0_[21] ; + wire \FSM_onehot_state_reg_n_0_[22] ; + wire \FSM_onehot_state_reg_n_0_[23] ; + wire \FSM_onehot_state_reg_n_0_[2] ; + wire \FSM_onehot_state_reg_n_0_[3] ; + wire \FSM_onehot_state_reg_n_0_[4] ; + wire \FSM_onehot_state_reg_n_0_[5] ; + wire \FSM_onehot_state_reg_n_0_[6] ; + wire \FSM_onehot_state_reg_n_0_[7] ; + wire \FSM_onehot_state_reg_n_0_[8] ; + wire \FSM_onehot_state_reg_n_0_[9] ; + wire ctrl_done; + wire ctrl_mem_en; + wire ctrl_mem_we; + wire \current_mem_addr[0]_i_10_n_0 ; + wire \current_mem_addr[0]_i_11_n_0 ; + wire \current_mem_addr[0]_i_1_n_0 ; + wire \current_mem_addr[0]_i_2_n_0 ; + wire \current_mem_addr[0]_i_3_n_0 ; + wire \current_mem_addr[0]_i_4_n_0 ; + wire \current_mem_addr[0]_i_5_n_0 ; + wire \current_mem_addr[0]_i_6_n_0 ; + wire \current_mem_addr[0]_i_7_n_0 ; + wire \current_mem_addr[0]_i_8_n_0 ; + wire \current_mem_addr[0]_i_9_n_0 ; + wire \current_mem_addr[10]_i_1_n_0 ; + wire \current_mem_addr[10]_i_2_n_0 ; + wire \current_mem_addr[10]_i_3_n_0 ; + wire \current_mem_addr[10]_i_4_n_0 ; + wire \current_mem_addr[11]_i_10_n_0 ; + wire \current_mem_addr[11]_i_1_n_0 ; + wire \current_mem_addr[11]_i_2_n_0 ; + wire \current_mem_addr[11]_i_3_n_0 ; + wire \current_mem_addr[11]_i_4_n_0 ; + wire \current_mem_addr[11]_i_7_n_0 ; + wire \current_mem_addr[11]_i_8_n_0 ; + wire \current_mem_addr[11]_i_9_n_0 ; + wire \current_mem_addr[12]_i_1_n_0 ; + wire \current_mem_addr[12]_i_2_n_0 ; + wire \current_mem_addr[12]_i_3_n_0 ; + wire \current_mem_addr[12]_i_4_n_0 ; + wire \current_mem_addr[13]_i_1_n_0 ; + wire \current_mem_addr[13]_i_2_n_0 ; + wire \current_mem_addr[13]_i_3_n_0 ; + wire \current_mem_addr[13]_i_4_n_0 ; + wire \current_mem_addr[14]_i_1_n_0 ; + wire \current_mem_addr[14]_i_2_n_0 ; + wire \current_mem_addr[14]_i_3_n_0 ; + wire \current_mem_addr[14]_i_4_n_0 ; + wire \current_mem_addr[14]_i_5_n_0 ; + wire \current_mem_addr[14]_i_6_n_0 ; + wire \current_mem_addr[14]_i_7_n_0 ; + wire \current_mem_addr[14]_i_8_n_0 ; + wire \current_mem_addr[15]_i_13_n_0 ; + wire \current_mem_addr[15]_i_14_n_0 ; + wire \current_mem_addr[15]_i_15_n_0 ; + wire \current_mem_addr[15]_i_16_n_0 ; + wire \current_mem_addr[15]_i_17_n_0 ; + wire \current_mem_addr[15]_i_18_n_0 ; + wire \current_mem_addr[15]_i_19_n_0 ; + wire \current_mem_addr[15]_i_1_n_0 ; + wire \current_mem_addr[15]_i_20_n_0 ; + wire \current_mem_addr[15]_i_21_n_0 ; + wire \current_mem_addr[15]_i_22_n_0 ; + wire \current_mem_addr[15]_i_23_n_0 ; + wire \current_mem_addr[15]_i_24_n_0 ; + wire \current_mem_addr[15]_i_2_n_0 ; + wire \current_mem_addr[15]_i_3_n_0 ; + wire \current_mem_addr[15]_i_4_n_0 ; + wire \current_mem_addr[15]_i_5_n_0 ; + wire \current_mem_addr[15]_i_7_n_0 ; + wire \current_mem_addr[15]_i_8_n_0 ; + wire \current_mem_addr[1]_i_1_n_0 ; + wire \current_mem_addr[1]_i_2_n_0 ; + wire \current_mem_addr[1]_i_3_n_0 ; + wire \current_mem_addr[1]_i_4_n_0 ; + wire \current_mem_addr[1]_i_5_n_0 ; + wire \current_mem_addr[1]_i_6_n_0 ; + wire \current_mem_addr[1]_i_7_n_0 ; + wire \current_mem_addr[2]_i_1_n_0 ; + wire \current_mem_addr[2]_i_2_n_0 ; + wire \current_mem_addr[2]_i_3_n_0 ; + wire \current_mem_addr[2]_i_4_n_0 ; + wire \current_mem_addr[3]_i_10_n_0 ; + wire \current_mem_addr[3]_i_11_n_0 ; + wire \current_mem_addr[3]_i_12_n_0 ; + wire \current_mem_addr[3]_i_1_n_0 ; + wire \current_mem_addr[3]_i_2_n_0 ; + wire \current_mem_addr[3]_i_3_n_0 ; + wire \current_mem_addr[3]_i_4_n_0 ; + wire \current_mem_addr[3]_i_5_n_0 ; + wire \current_mem_addr[3]_i_6_n_0 ; + wire \current_mem_addr[3]_i_9_n_0 ; + wire \current_mem_addr[4]_i_10_n_0 ; + wire \current_mem_addr[4]_i_11_n_0 ; + wire \current_mem_addr[4]_i_12_n_0 ; + wire \current_mem_addr[4]_i_13_n_0 ; + wire \current_mem_addr[4]_i_1_n_0 ; + wire \current_mem_addr[4]_i_2_n_0 ; + wire \current_mem_addr[4]_i_3_n_0 ; + wire \current_mem_addr[4]_i_4_n_0 ; + wire \current_mem_addr[4]_i_5_n_0 ; + wire \current_mem_addr[4]_i_6_n_0 ; + wire \current_mem_addr[4]_i_7_n_0 ; + wire \current_mem_addr[5]_i_1_n_0 ; + wire \current_mem_addr[5]_i_2_n_0 ; + wire \current_mem_addr[5]_i_3_n_0 ; + wire \current_mem_addr[5]_i_4_n_0 ; + wire \current_mem_addr[5]_i_5_n_0 ; + wire \current_mem_addr[6]_i_1_n_0 ; + wire \current_mem_addr[6]_i_2_n_0 ; + wire \current_mem_addr[6]_i_3_n_0 ; + wire \current_mem_addr[6]_i_4_n_0 ; + wire \current_mem_addr[6]_i_5_n_0 ; + wire \current_mem_addr[7]_i_10_n_0 ; + wire \current_mem_addr[7]_i_11_n_0 ; + wire \current_mem_addr[7]_i_1_n_0 ; + wire \current_mem_addr[7]_i_2_n_0 ; + wire \current_mem_addr[7]_i_3_n_0 ; + wire \current_mem_addr[7]_i_4_n_0 ; + wire \current_mem_addr[7]_i_5_n_0 ; + wire \current_mem_addr[7]_i_8_n_0 ; + wire \current_mem_addr[7]_i_9_n_0 ; + wire \current_mem_addr[8]_i_10_n_0 ; + wire \current_mem_addr[8]_i_1_n_0 ; + wire \current_mem_addr[8]_i_2_n_0 ; + wire \current_mem_addr[8]_i_3_n_0 ; + wire \current_mem_addr[8]_i_4_n_0 ; + wire \current_mem_addr[8]_i_7_n_0 ; + wire \current_mem_addr[8]_i_8_n_0 ; + wire \current_mem_addr[8]_i_9_n_0 ; + wire \current_mem_addr[9]_i_1_n_0 ; + wire \current_mem_addr[9]_i_2_n_0 ; + wire \current_mem_addr[9]_i_3_n_0 ; + wire \current_mem_addr[9]_i_4_n_0 ; + wire \current_mem_addr_reg[11]_i_5_n_0 ; + wire \current_mem_addr_reg[11]_i_5_n_1 ; + wire \current_mem_addr_reg[11]_i_5_n_2 ; + wire \current_mem_addr_reg[11]_i_5_n_3 ; + wire \current_mem_addr_reg[11]_i_6_n_0 ; + wire \current_mem_addr_reg[11]_i_6_n_1 ; + wire \current_mem_addr_reg[11]_i_6_n_2 ; + wire \current_mem_addr_reg[11]_i_6_n_3 ; + wire \current_mem_addr_reg[12]_i_5_n_0 ; + wire \current_mem_addr_reg[12]_i_5_n_1 ; + wire \current_mem_addr_reg[12]_i_5_n_2 ; + wire \current_mem_addr_reg[12]_i_5_n_3 ; + wire \current_mem_addr_reg[15]_i_10_n_1 ; + wire \current_mem_addr_reg[15]_i_10_n_2 ; + wire \current_mem_addr_reg[15]_i_10_n_3 ; + wire \current_mem_addr_reg[15]_i_11_n_1 ; + wire \current_mem_addr_reg[15]_i_11_n_2 ; + wire \current_mem_addr_reg[15]_i_11_n_3 ; + wire \current_mem_addr_reg[15]_i_12_n_0 ; + wire \current_mem_addr_reg[15]_i_12_n_1 ; + wire \current_mem_addr_reg[15]_i_12_n_2 ; + wire \current_mem_addr_reg[15]_i_12_n_3 ; + wire \current_mem_addr_reg[15]_i_6_n_2 ; + wire \current_mem_addr_reg[15]_i_6_n_3 ; + wire \current_mem_addr_reg[15]_i_9_n_2 ; + wire \current_mem_addr_reg[15]_i_9_n_3 ; + wire \current_mem_addr_reg[3]_i_7_n_0 ; + wire \current_mem_addr_reg[3]_i_7_n_1 ; + wire \current_mem_addr_reg[3]_i_7_n_2 ; + wire \current_mem_addr_reg[3]_i_7_n_3 ; + wire \current_mem_addr_reg[3]_i_8_n_0 ; + wire \current_mem_addr_reg[3]_i_8_n_1 ; + wire \current_mem_addr_reg[3]_i_8_n_2 ; + wire \current_mem_addr_reg[3]_i_8_n_3 ; + wire \current_mem_addr_reg[4]_i_8_n_0 ; + wire \current_mem_addr_reg[4]_i_8_n_1 ; + wire \current_mem_addr_reg[4]_i_8_n_2 ; + wire \current_mem_addr_reg[4]_i_8_n_3 ; + wire \current_mem_addr_reg[4]_i_9_n_0 ; + wire \current_mem_addr_reg[4]_i_9_n_1 ; + wire \current_mem_addr_reg[4]_i_9_n_2 ; + wire \current_mem_addr_reg[4]_i_9_n_3 ; + wire \current_mem_addr_reg[7]_i_6_n_0 ; + wire \current_mem_addr_reg[7]_i_6_n_1 ; + wire \current_mem_addr_reg[7]_i_6_n_2 ; + wire \current_mem_addr_reg[7]_i_6_n_3 ; + wire \current_mem_addr_reg[7]_i_7_n_0 ; + wire \current_mem_addr_reg[7]_i_7_n_1 ; + wire \current_mem_addr_reg[7]_i_7_n_2 ; + wire \current_mem_addr_reg[7]_i_7_n_3 ; + wire \current_mem_addr_reg[8]_i_5_n_0 ; + wire \current_mem_addr_reg[8]_i_5_n_1 ; + wire \current_mem_addr_reg[8]_i_5_n_2 ; + wire \current_mem_addr_reg[8]_i_5_n_3 ; + wire \current_mem_addr_reg[8]_i_6_n_0 ; + wire \current_mem_addr_reg[8]_i_6_n_1 ; + wire \current_mem_addr_reg[8]_i_6_n_2 ; + wire \current_mem_addr_reg[8]_i_6_n_3 ; + wire [5:0]current_popped_id; + wire \current_popped_id[5]_i_1_n_0 ; + wire \current_popped_id[5]_i_2_n_0 ; + wire [7:0]current_task_count; + wire \current_task_count[0]_i_1_n_0 ; + wire \current_task_count[1]_i_1_n_0 ; + wire \current_task_count[2]_i_1_n_0 ; + wire \current_task_count[3]_i_1_n_0 ; + wire \current_task_count[4]_i_1_n_0 ; + wire \current_task_count[4]_i_2_n_0 ; + wire \current_task_count[5]_i_1_n_0 ; + wire \current_task_count[5]_i_2_n_0 ; + wire \current_task_count[5]_i_3_n_0 ; + wire \current_task_count[6]_i_1_n_0 ; + wire \current_task_count[7]_i_1_n_0 ; + wire \current_task_count[7]_i_2_n_0 ; + wire \current_task_count[7]_i_3_n_0 ; + wire \current_task_count[7]_i_4_n_0 ; + wire i_clk; + wire i_clk_IBUF; + wire i_clk_IBUF_BUFG; + wire [7:0]i_mem_data; + wire [7:0]i_mem_data_IBUF; + wire [1:0]i_op; + wire [1:0]i_op_IBUF; + wire i_rst; + wire i_rst_IBUF; + wire i_start; + wire i_start_IBUF; + wire [5:0]i_task_id; + wire [5:0]i_task_id_IBUF; + wire [1:0]i_task_priority; + wire [1:0]i_task_priority_IBUF; + wire [15:1]in23; + wire [15:1]in26; + wire [15:1]in27; + wire [15:0]in30; + wire o_done; + wire o_done_OBUF; + wire [15:0]o_mem_addr; + wire [15:0]o_mem_addr_OBUF; + wire [7:0]o_mem_data; + wire \o_mem_data[0]_i_1_n_0 ; + wire \o_mem_data[0]_i_2_n_0 ; + wire \o_mem_data[1]_i_1_n_0 ; + wire \o_mem_data[1]_i_2_n_0 ; + wire \o_mem_data[1]_i_3_n_0 ; + wire \o_mem_data[1]_i_4_n_0 ; + wire \o_mem_data[2]_i_1_n_0 ; + wire \o_mem_data[2]_i_2_n_0 ; + wire \o_mem_data[3]_i_1_n_0 ; + wire \o_mem_data[3]_i_2_n_0 ; + wire \o_mem_data[3]_i_3_n_0 ; + wire \o_mem_data[4]_i_1_n_0 ; + wire \o_mem_data[4]_i_2_n_0 ; + wire \o_mem_data[5]_i_1_n_0 ; + wire \o_mem_data[5]_i_2_n_0 ; + wire \o_mem_data[5]_i_3_n_0 ; + wire \o_mem_data[6]_i_1_n_0 ; + wire \o_mem_data[6]_i_2_n_0 ; + wire \o_mem_data[6]_i_3_n_0 ; + wire \o_mem_data[6]_i_4_n_0 ; + wire \o_mem_data[6]_i_5_n_0 ; + wire \o_mem_data[7]_i_1_n_0 ; + wire \o_mem_data[7]_i_2_n_0 ; + wire \o_mem_data[7]_i_3_n_0 ; + wire \o_mem_data[7]_i_4_n_0 ; + wire \o_mem_data[7]_i_5_n_0 ; + wire [7:0]o_mem_data_OBUF; + wire o_mem_en; + wire o_mem_en_OBUF; + wire o_mem_en_i_2_n_0; + wire o_mem_en_i_3_n_0; + wire o_mem_en_i_4_n_0; + wire o_mem_we; + wire o_mem_we_OBUF; + wire o_mem_we_i_2_n_0; + wire o_mem_we_i_3_n_0; + wire [5:0]o_task_id; + wire \o_task_id[5]_i_1_n_0 ; + wire [5:0]o_task_id_OBUF; + wire [3:2]\NLW_FSM_onehot_state_reg[12]_i_2_CO_UNCONNECTED ; + wire [3:0]\NLW_FSM_onehot_state_reg[12]_i_2_O_UNCONNECTED ; + wire [3:0]\NLW_FSM_onehot_state_reg[12]_i_3_O_UNCONNECTED ; + wire [3:3]\NLW_current_mem_addr_reg[15]_i_10_CO_UNCONNECTED ; + wire [3:3]\NLW_current_mem_addr_reg[15]_i_11_CO_UNCONNECTED ; + wire [3:2]\NLW_current_mem_addr_reg[15]_i_6_CO_UNCONNECTED ; + wire [3:3]\NLW_current_mem_addr_reg[15]_i_6_O_UNCONNECTED ; + wire [3:2]\NLW_current_mem_addr_reg[15]_i_9_CO_UNCONNECTED ; + wire [3:3]\NLW_current_mem_addr_reg[15]_i_9_O_UNCONNECTED ; + wire [0:0]\NLW_current_mem_addr_reg[3]_i_8_O_UNCONNECTED ; + + (* SOFT_HLUTNM = "soft_lutpair25" *) + LUT2 #( + .INIT(4'hE)) + \FSM_onehot_state[10]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[9] ), + .I1(\FSM_onehot_state_reg_n_0_[13] ), + .O(\FSM_onehot_state[10]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair0" *) + LUT2 #( + .INIT(4'h8)) + \FSM_onehot_state[11]_i_1 + (.I0(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I1(\FSM_onehot_state_reg_n_0_[10] ), + .O(\FSM_onehot_state[11]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair1" *) + LUT2 #( + .INIT(4'h2)) + \FSM_onehot_state[12]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[10] ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\FSM_onehot_state[12]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair5" *) + LUT4 #( + .INIT(16'h9555)) + \FSM_onehot_state[12]_i_10 + (.I0(current_task_count[3]), + .I1(current_task_count[2]), + .I2(current_task_count[0]), + .I3(current_task_count[1]), + .O(\FSM_onehot_state[12]_i_10_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair5" *) + LUT5 #( + .INIT(32'h95555555)) + \FSM_onehot_state[12]_i_11 + (.I0(current_task_count[4]), + .I1(current_task_count[3]), + .I2(current_task_count[1]), + .I3(current_task_count[0]), + .I4(current_task_count[2]), + .O(\FSM_onehot_state[12]_i_11_n_0 )); + LUT1 #( + .INIT(2'h1)) + \FSM_onehot_state[12]_i_4 + (.I0(o_mem_addr_OBUF[15]), + .O(\FSM_onehot_state[12]_i_4_n_0 )); + LUT3 #( + .INIT(8'h01)) + \FSM_onehot_state[12]_i_5 + (.I0(o_mem_addr_OBUF[13]), + .I1(o_mem_addr_OBUF[12]), + .I2(o_mem_addr_OBUF[14]), + .O(\FSM_onehot_state[12]_i_5_n_0 )); + LUT3 #( + .INIT(8'h01)) + \FSM_onehot_state[12]_i_6 + (.I0(o_mem_addr_OBUF[9]), + .I1(o_mem_addr_OBUF[10]), + .I2(o_mem_addr_OBUF[11]), + .O(\FSM_onehot_state[12]_i_6_n_0 )); + LUT6 #( + .INIT(64'h2100002100214200)) + \FSM_onehot_state[12]_i_7 + (.I0(o_mem_addr_OBUF[7]), + .I1(o_mem_addr_OBUF[8]), + .I2(current_task_count[7]), + .I3(current_task_count[6]), + .I4(\current_task_count[7]_i_3_n_0 ), + .I5(o_mem_addr_OBUF[6]), + .O(\FSM_onehot_state[12]_i_7_n_0 )); + LUT6 #( + .INIT(64'h0000066006600000)) + \FSM_onehot_state[12]_i_8 + (.I0(\FSM_onehot_state[12]_i_10_n_0 ), + .I1(o_mem_addr_OBUF[3]), + .I2(o_mem_addr_OBUF[5]), + .I3(\current_task_count[5]_i_2_n_0 ), + .I4(o_mem_addr_OBUF[4]), + .I5(\FSM_onehot_state[12]_i_11_n_0 ), + .O(\FSM_onehot_state[12]_i_8_n_0 )); + LUT6 #( + .INIT(64'h0000900906900000)) + \FSM_onehot_state[12]_i_9 + (.I0(current_task_count[2]), + .I1(o_mem_addr_OBUF[2]), + .I2(o_mem_addr_OBUF[1]), + .I3(current_task_count[1]), + .I4(current_task_count[0]), + .I5(o_mem_addr_OBUF[0]), + .O(\FSM_onehot_state[12]_i_9_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair33" *) + LUT3 #( + .INIT(8'h40)) + \FSM_onehot_state[14]_i_1 + (.I0(i_op_IBUF[0]), + .I1(i_op_IBUF[1]), + .I2(\FSM_onehot_state_reg_n_0_[2] ), + .O(\FSM_onehot_state[14]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair36" *) + LUT3 #( + .INIT(8'hF2)) + \FSM_onehot_state[15]_i_1 + (.I0(\FSM_onehot_state[17]_i_2_n_0 ), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[15]_i_2_n_0 ), + .O(\FSM_onehot_state[15]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair37" *) + LUT2 #( + .INIT(4'h8)) + \FSM_onehot_state[15]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[14] ), + .I1(\FSM_onehot_state[15]_i_3_n_0 ), + .O(\FSM_onehot_state[15]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \FSM_onehot_state[15]_i_3 + (.I0(i_task_id_IBUF[5]), + .I1(i_task_id_IBUF[2]), + .I2(i_task_id_IBUF[3]), + .I3(i_task_id_IBUF[4]), + .I4(i_task_id_IBUF[1]), + .I5(i_task_id_IBUF[0]), + .O(\FSM_onehot_state[15]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair36" *) + LUT3 #( + .INIT(8'hF1)) + \FSM_onehot_state[17]_i_1 + (.I0(\FSM_onehot_state[17]_i_2_n_0 ), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[21] ), + .O(\FSM_onehot_state[17]_i_1_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFEFFFFFFFF)) + \FSM_onehot_state[17]_i_2 + (.I0(o_mem_addr_OBUF[1]), + .I1(o_mem_addr_OBUF[3]), + .I2(o_mem_addr_OBUF[2]), + .I3(\FSM_onehot_state[21]_i_4_n_0 ), + .I4(\FSM_onehot_state[21]_i_5_n_0 ), + .I5(\FSM_onehot_state[21]_i_6_n_0 ), + .O(\FSM_onehot_state[17]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair34" *) + LUT3 #( + .INIT(8'h4F)) + \FSM_onehot_state[17]_i_3 + (.I0(\FSM_onehot_state[17]_i_4_n_0 ), + .I1(\FSM_onehot_state[17]_i_5_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[16] ), + .O(\FSM_onehot_state[17]_i_3_n_0 )); + LUT6 #( + .INIT(64'h6FF6FFFFFFFF6FF6)) + \FSM_onehot_state[17]_i_4 + (.I0(i_task_id_IBUF[0]), + .I1(i_mem_data_IBUF[2]), + .I2(i_mem_data_IBUF[3]), + .I3(i_task_id_IBUF[1]), + .I4(i_mem_data_IBUF[4]), + .I5(i_task_id_IBUF[2]), + .O(\FSM_onehot_state[17]_i_4_n_0 )); + LUT6 #( + .INIT(64'h9009000000009009)) + \FSM_onehot_state[17]_i_5 + (.I0(i_task_id_IBUF[4]), + .I1(i_mem_data_IBUF[6]), + .I2(i_task_id_IBUF[5]), + .I3(i_mem_data_IBUF[7]), + .I4(i_mem_data_IBUF[5]), + .I5(i_task_id_IBUF[3]), + .O(\FSM_onehot_state[17]_i_5_n_0 )); + LUT1 #( + .INIT(2'h1)) + \FSM_onehot_state[19]_i_1 + (.I0(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\FSM_onehot_state[19]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair11" *) + LUT2 #( + .INIT(4'hB)) + \FSM_onehot_state[19]_i_2 + (.I0(\FSM_onehot_state[21]_i_2_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[18] ), + .O(\FSM_onehot_state[19]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFEFEFE)) + \FSM_onehot_state[1]_i_1 + (.I0(\FSM_onehot_state[1]_i_2_n_0 ), + .I1(\FSM_onehot_state[1]_i_3_n_0 ), + .I2(\FSM_onehot_state[1]_i_4_n_0 ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I4(\FSM_onehot_state_reg_n_0_[5] ), + .I5(\FSM_onehot_state[1]_i_5_n_0 ), + .O(\FSM_onehot_state[1]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair34" *) + LUT3 #( + .INIT(8'h20)) + \FSM_onehot_state[1]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[16] ), + .I1(\FSM_onehot_state[17]_i_4_n_0 ), + .I2(\FSM_onehot_state[17]_i_5_n_0 ), + .O(\FSM_onehot_state[1]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair7" *) + LUT5 #( + .INIT(32'h00000002)) + \FSM_onehot_state[1]_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[7] ), + .I1(\FSM_onehot_state[8]_i_2_n_0 ), + .I2(current_task_count[2]), + .I3(current_task_count[1]), + .I4(current_task_count[0]), + .O(\FSM_onehot_state[1]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair37" *) + LUT2 #( + .INIT(4'h2)) + \FSM_onehot_state[1]_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[14] ), + .I1(\FSM_onehot_state[15]_i_3_n_0 ), + .O(\FSM_onehot_state[1]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair22" *) + LUT4 #( + .INIT(16'hFFFE)) + \FSM_onehot_state[1]_i_5 + (.I0(\FSM_onehot_state_reg_n_0_[23] ), + .I1(\FSM_onehot_state_reg_n_0_[20] ), + .I2(\FSM_onehot_state_reg_n_0_[11] ), + .I3(\FSM_onehot_state_reg_n_0_[0] ), + .O(\FSM_onehot_state[1]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair10" *) + LUT2 #( + .INIT(4'h8)) + \FSM_onehot_state[21]_i_1 + (.I0(\FSM_onehot_state[21]_i_2_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[18] ), + .O(\FSM_onehot_state[21]_i_1_n_0 )); + LUT6 #( + .INIT(64'h00000000FFFFFEFF)) + \FSM_onehot_state[21]_i_2 + (.I0(\FSM_onehot_state[21]_i_3_n_0 ), + .I1(\FSM_onehot_state[21]_i_4_n_0 ), + .I2(\FSM_onehot_state[21]_i_5_n_0 ), + .I3(\FSM_onehot_state[21]_i_6_n_0 ), + .I4(o_mem_addr_OBUF[0]), + .I5(\FSM_onehot_state[21]_i_7_n_0 ), + .O(\FSM_onehot_state[21]_i_2_n_0 )); + LUT3 #( + .INIT(8'hFE)) + \FSM_onehot_state[21]_i_3 + (.I0(o_mem_addr_OBUF[1]), + .I1(o_mem_addr_OBUF[3]), + .I2(o_mem_addr_OBUF[2]), + .O(\FSM_onehot_state[21]_i_3_n_0 )); + LUT4 #( + .INIT(16'hFFFE)) + \FSM_onehot_state[21]_i_4 + (.I0(o_mem_addr_OBUF[5]), + .I1(o_mem_addr_OBUF[4]), + .I2(o_mem_addr_OBUF[7]), + .I3(o_mem_addr_OBUF[6]), + .O(\FSM_onehot_state[21]_i_4_n_0 )); + LUT4 #( + .INIT(16'hFFFE)) + \FSM_onehot_state[21]_i_5 + (.I0(o_mem_addr_OBUF[12]), + .I1(o_mem_addr_OBUF[13]), + .I2(o_mem_addr_OBUF[15]), + .I3(o_mem_addr_OBUF[14]), + .O(\FSM_onehot_state[21]_i_5_n_0 )); + LUT4 #( + .INIT(16'h0001)) + \FSM_onehot_state[21]_i_6 + (.I0(o_mem_addr_OBUF[10]), + .I1(o_mem_addr_OBUF[11]), + .I2(o_mem_addr_OBUF[9]), + .I3(o_mem_addr_OBUF[8]), + .O(\FSM_onehot_state[21]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair19" *) + LUT4 #( + .INIT(16'hBF0B)) + \FSM_onehot_state[21]_i_7 + (.I0(i_task_priority_IBUF[0]), + .I1(i_mem_data_IBUF[0]), + .I2(i_mem_data_IBUF[1]), + .I3(i_task_priority_IBUF[1]), + .O(\FSM_onehot_state[21]_i_7_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair30" *) + LUT3 #( + .INIT(8'h80)) + \FSM_onehot_state[22]_i_1 + (.I0(i_op_IBUF[0]), + .I1(i_op_IBUF[1]), + .I2(\FSM_onehot_state_reg_n_0_[2] ), + .O(\FSM_onehot_state[22]_i_1_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFEFEFE)) + \FSM_onehot_state[23]_i_1 + (.I0(\FSM_onehot_state[23]_i_2_n_0 ), + .I1(\FSM_onehot_state[23]_i_3_n_0 ), + .I2(\FSM_onehot_state[23]_i_4_n_0 ), + .I3(i_start_IBUF), + .I4(\FSM_onehot_state_reg_n_0_[2] ), + .I5(\FSM_onehot_state[23]_i_5_n_0 ), + .O(\FSM_onehot_state[23]_i_1_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \FSM_onehot_state[23]_i_2 + (.I0(o_mem_en_i_2_n_0), + .I1(\FSM_onehot_state[23]_i_6_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[16] ), + .I3(\FSM_onehot_state_reg_n_0_[7] ), + .I4(\FSM_onehot_state_reg_n_0_[14] ), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(\FSM_onehot_state[23]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair23" *) + LUT4 #( + .INIT(16'hFFFE)) + \FSM_onehot_state[23]_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[6] ), + .I1(\FSM_onehot_state_reg_n_0_[5] ), + .I2(\FSM_onehot_state_reg_n_0_[11] ), + .I3(\FSM_onehot_state_reg_n_0_[8] ), + .O(\FSM_onehot_state[23]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair31" *) + LUT2 #( + .INIT(4'hE)) + \FSM_onehot_state[23]_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[15] ), + .I1(\FSM_onehot_state_reg_n_0_[17] ), + .O(\FSM_onehot_state[23]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \FSM_onehot_state[23]_i_5 + (.I0(\FSM_onehot_state_reg_n_0_[13] ), + .I1(\FSM_onehot_state_reg_n_0_[9] ), + .I2(\FSM_onehot_state_reg_n_0_[22] ), + .I3(\FSM_onehot_state_reg_n_0_[21] ), + .I4(\FSM_onehot_state_reg_n_0_[20] ), + .I5(\FSM_onehot_state_reg_n_0_[23] ), + .O(\FSM_onehot_state[23]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair24" *) + LUT4 #( + .INIT(16'hEFEE)) + \FSM_onehot_state[23]_i_6 + (.I0(\FSM_onehot_state_reg_n_0_[4] ), + .I1(\FSM_onehot_state_reg_n_0_[3] ), + .I2(i_start_IBUF), + .I3(\FSM_onehot_state_reg_n_0_[1] ), + .O(\FSM_onehot_state[23]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair33" *) + LUT3 #( + .INIT(8'h04)) + \FSM_onehot_state[3]_i_1 + (.I0(i_op_IBUF[0]), + .I1(\FSM_onehot_state_reg_n_0_[2] ), + .I2(i_op_IBUF[1]), + .O(\FSM_onehot_state[3]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair23" *) + LUT2 #( + .INIT(4'hE)) + \FSM_onehot_state[4]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[6] ), + .I1(\FSM_onehot_state_reg_n_0_[3] ), + .O(\FSM_onehot_state[4]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair21" *) + LUT2 #( + .INIT(4'h2)) + \FSM_onehot_state[6]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[5] ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\FSM_onehot_state[6]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair30" *) + LUT3 #( + .INIT(8'h08)) + \FSM_onehot_state[7]_i_1 + (.I0(i_op_IBUF[0]), + .I1(\FSM_onehot_state_reg_n_0_[2] ), + .I2(i_op_IBUF[1]), + .O(\FSM_onehot_state[7]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair7" *) + LUT5 #( + .INIT(32'hAAAAAAA8)) + \FSM_onehot_state[8]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[7] ), + .I1(\FSM_onehot_state[8]_i_2_n_0 ), + .I2(current_task_count[2]), + .I3(current_task_count[1]), + .I4(current_task_count[0]), + .O(\FSM_onehot_state[8]_i_1_n_0 )); + LUT5 #( + .INIT(32'hFFFFFFFE)) + \FSM_onehot_state[8]_i_2 + (.I0(current_task_count[7]), + .I1(current_task_count[6]), + .I2(current_task_count[3]), + .I3(current_task_count[4]), + .I4(current_task_count[5]), + .O(\FSM_onehot_state[8]_i_2_n_0 )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDPE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .D(1'b0), + .PRE(i_rst_IBUF), + .Q(\FSM_onehot_state_reg_n_0_[0] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[10] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[10]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[10] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[11] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[11]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[11] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[12] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[12]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[12] )); + CARRY4 \FSM_onehot_state_reg[12]_i_2 + (.CI(\FSM_onehot_state_reg[12]_i_3_n_0 ), + .CO({\NLW_FSM_onehot_state_reg[12]_i_2_CO_UNCONNECTED [3:2],\FSM_onehot_state_reg[12]_i_2_n_2 ,\FSM_onehot_state_reg[12]_i_2_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(\NLW_FSM_onehot_state_reg[12]_i_2_O_UNCONNECTED [3:0]), + .S({1'b0,1'b0,\FSM_onehot_state[12]_i_4_n_0 ,\FSM_onehot_state[12]_i_5_n_0 })); + CARRY4 \FSM_onehot_state_reg[12]_i_3 + (.CI(1'b0), + .CO({\FSM_onehot_state_reg[12]_i_3_n_0 ,\FSM_onehot_state_reg[12]_i_3_n_1 ,\FSM_onehot_state_reg[12]_i_3_n_2 ,\FSM_onehot_state_reg[12]_i_3_n_3 }), + .CYINIT(1'b1), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(\NLW_FSM_onehot_state_reg[12]_i_3_O_UNCONNECTED [3:0]), + .S({\FSM_onehot_state[12]_i_6_n_0 ,\FSM_onehot_state[12]_i_7_n_0 ,\FSM_onehot_state[12]_i_8_n_0 ,\FSM_onehot_state[12]_i_9_n_0 })); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[13] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[12] ), + .Q(\FSM_onehot_state_reg_n_0_[13] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[14] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[14]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[14] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[15] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[15]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[15] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[16] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[15] ), + .Q(\FSM_onehot_state_reg_n_0_[16] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[17] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[17]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[17] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[18] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[17] ), + .Q(\FSM_onehot_state_reg_n_0_[18] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[19] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[19]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[19] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[1]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[1] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[20] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[19] ), + .Q(\FSM_onehot_state_reg_n_0_[20] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[21] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[21]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[21] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[22] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[22]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[22] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[23] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[22] ), + .Q(\FSM_onehot_state_reg_n_0_[23] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b1)) + \FSM_onehot_state_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[1] ), + .Q(\FSM_onehot_state_reg_n_0_[2] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[3]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[3] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[4]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[4] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[4] ), + .Q(\FSM_onehot_state_reg_n_0_[5] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[6] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[6]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[6] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[7] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[7]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[7] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[8] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[8]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[8] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[9] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[8] ), + .Q(\FSM_onehot_state_reg_n_0_[9] )); + LUT6 #( + .INIT(64'hFF54FF54FFFFFF54)) + \current_mem_addr[0]_i_1 + (.I0(\current_mem_addr[0]_i_2_n_0 ), + .I1(\current_mem_addr[0]_i_3_n_0 ), + .I2(\current_mem_addr[0]_i_4_n_0 ), + .I3(\current_mem_addr[0]_i_5_n_0 ), + .I4(current_task_count[0]), + .I5(\current_mem_addr[0]_i_6_n_0 ), + .O(\current_mem_addr[0]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair22" *) + LUT2 #( + .INIT(4'hE)) + \current_mem_addr[0]_i_10 + (.I0(\FSM_onehot_state_reg_n_0_[5] ), + .I1(\FSM_onehot_state_reg_n_0_[20] ), + .O(\current_mem_addr[0]_i_10_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair26" *) + LUT4 #( + .INIT(16'hFEEE)) + \current_mem_addr[0]_i_11 + (.I0(\FSM_onehot_state_reg_n_0_[1] ), + .I1(\FSM_onehot_state_reg_n_0_[2] ), + .I2(o_mem_addr_OBUF[0]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[0]_i_11_n_0 )); + LUT6 #( + .INIT(64'h0000000000000777)) + \current_mem_addr[0]_i_2 + (.I0(in30[0]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(o_mem_addr_OBUF[0]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .I4(\current_mem_addr[0]_i_7_n_0 ), + .I5(\current_mem_addr[3]_i_6_n_0 ), + .O(\current_mem_addr[0]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair21" *) + LUT4 #( + .INIT(16'h88A8)) + \current_mem_addr[0]_i_3 + (.I0(o_mem_addr_OBUF[0]), + .I1(\FSM_onehot_state[1]_i_2_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\current_mem_addr[0]_i_3_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFEEE)) + \current_mem_addr[0]_i_4 + (.I0(\current_mem_addr[0]_i_8_n_0 ), + .I1(\current_mem_addr[0]_i_9_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[21] ), + .I3(in30[0]), + .I4(\current_mem_addr[0]_i_10_n_0 ), + .I5(\current_mem_addr[0]_i_11_n_0 ), + .O(\current_mem_addr[0]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFAEAEFF00AEAE)) + \current_mem_addr[0]_i_5 + (.I0(\FSM_onehot_state[8]_i_1_n_0 ), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state[1]_i_4_n_0 ), + .I4(o_mem_addr_OBUF[0]), + .I5(\FSM_onehot_state_reg_n_0_[7] ), + .O(\current_mem_addr[0]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair18" *) + LUT3 #( + .INIT(8'h0E)) + \current_mem_addr[0]_i_6 + (.I0(\FSM_onehot_state[17]_i_3_n_0 ), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[15]_i_2_n_0 ), + .O(\current_mem_addr[0]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair32" *) + LUT3 #( + .INIT(8'hFE)) + \current_mem_addr[0]_i_7 + (.I0(\FSM_onehot_state_reg_n_0_[12] ), + .I1(\FSM_onehot_state_reg_n_0_[3] ), + .I2(o_mem_addr_OBUF[0]), + .O(\current_mem_addr[0]_i_7_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair9" *) + LUT5 #( + .INIT(32'h55555554)) + \current_mem_addr[0]_i_8 + (.I0(o_mem_addr_OBUF[0]), + .I1(\FSM_onehot_state_reg_n_0_[6] ), + .I2(\FSM_onehot_state_reg_n_0_[9] ), + .I3(\FSM_onehot_state_reg_n_0_[18] ), + .I4(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[0]_i_8_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \current_mem_addr[0]_i_9 + (.I0(\FSM_onehot_state[23]_i_4_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[23] ), + .I2(\FSM_onehot_state_reg_n_0_[8] ), + .I3(\FSM_onehot_state_reg_n_0_[11] ), + .I4(\FSM_onehot_state_reg_n_0_[3] ), + .I5(\FSM_onehot_state_reg_n_0_[4] ), + .O(\current_mem_addr[0]_i_9_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[10]_i_1 + (.I0(\current_mem_addr[10]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[10]), + .I3(\current_mem_addr[10]_i_3_n_0 ), + .I4(\current_mem_addr[10]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[10]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair14" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[10]_i_2 + (.I0(in26[10]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[10]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[10]_i_3 + (.I0(in30[10]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[10]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[10]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[10]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[10]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[10]), + .O(\current_mem_addr[10]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[11]_i_1 + (.I0(\current_mem_addr[11]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[11]), + .I3(\current_mem_addr[11]_i_3_n_0 ), + .I4(\current_mem_addr[11]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[11]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[11]_i_10 + (.I0(o_mem_addr_OBUF[8]), + .O(\current_mem_addr[11]_i_10_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair13" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[11]_i_2 + (.I0(in26[11]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[11]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[11]_i_3 + (.I0(in27[11]), + .I1(\FSM_onehot_state_reg_n_0_[13] ), + .I2(in30[11]), + .I3(\FSM_onehot_state_reg_n_0_[21] ), + .O(\current_mem_addr[11]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[11]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[11]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[11]), + .O(\current_mem_addr[11]_i_4_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[11]_i_7 + (.I0(o_mem_addr_OBUF[11]), + .O(\current_mem_addr[11]_i_7_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[11]_i_8 + (.I0(o_mem_addr_OBUF[10]), + .O(\current_mem_addr[11]_i_8_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[11]_i_9 + (.I0(o_mem_addr_OBUF[9]), + .O(\current_mem_addr[11]_i_9_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[12]_i_1 + (.I0(\current_mem_addr[12]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[12]), + .I3(\current_mem_addr[12]_i_3_n_0 ), + .I4(\current_mem_addr[12]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[12]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair13" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[12]_i_2 + (.I0(in26[12]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[12]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[12]_i_3 + (.I0(in30[12]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[12]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[12]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[12]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[12]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[12]), + .O(\current_mem_addr[12]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[13]_i_1 + (.I0(\current_mem_addr[13]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[13]), + .I3(\current_mem_addr[13]_i_3_n_0 ), + .I4(\current_mem_addr[13]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[13]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair12" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[13]_i_2 + (.I0(in26[13]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[13]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[13]_i_3 + (.I0(in30[13]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[13]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[13]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[13]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[13]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[13]), + .O(\current_mem_addr[13]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[14]_i_1 + (.I0(\current_mem_addr[14]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[14]), + .I3(\current_mem_addr[14]_i_4_n_0 ), + .I4(\current_mem_addr[14]_i_5_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[14]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair12" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[14]_i_2 + (.I0(in26[14]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[14]_i_2_n_0 )); + LUT6 #( + .INIT(64'h0000000000000001)) + \current_mem_addr[14]_i_3 + (.I0(\current_mem_addr[14]_i_7_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[11] ), + .I2(\FSM_onehot_state_reg_n_0_[4] ), + .I3(\FSM_onehot_state_reg_n_0_[20] ), + .I4(\FSM_onehot_state_reg_n_0_[5] ), + .I5(\current_mem_addr[14]_i_8_n_0 ), + .O(\current_mem_addr[14]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair27" *) + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[14]_i_4 + (.I0(in30[14]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[14]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[14]_i_4_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[14]_i_5 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[14]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[14]), + .O(\current_mem_addr[14]_i_5_n_0 )); + LUT5 #( + .INIT(32'h00000045)) + \current_mem_addr[14]_i_6 + (.I0(\FSM_onehot_state[1]_i_2_n_0 ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state[1]_i_4_n_0 ), + .I4(\FSM_onehot_state[1]_i_3_n_0 ), + .O(\current_mem_addr[14]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair26" *) + LUT3 #( + .INIT(8'hFE)) + \current_mem_addr[14]_i_7 + (.I0(\FSM_onehot_state_reg_n_0_[8] ), + .I1(\FSM_onehot_state_reg_n_0_[1] ), + .I2(\FSM_onehot_state_reg_n_0_[2] ), + .O(\current_mem_addr[14]_i_7_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair31" *) + LUT3 #( + .INIT(8'hFE)) + \current_mem_addr[14]_i_8 + (.I0(\FSM_onehot_state_reg_n_0_[23] ), + .I1(\FSM_onehot_state_reg_n_0_[17] ), + .I2(\FSM_onehot_state_reg_n_0_[15] ), + .O(\current_mem_addr[14]_i_8_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_1 + (.I0(i_rst_IBUF), + .O(\current_mem_addr[15]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_13 + (.I0(o_mem_addr_OBUF[15]), + .O(\current_mem_addr[15]_i_13_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_14 + (.I0(o_mem_addr_OBUF[14]), + .O(\current_mem_addr[15]_i_14_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_15 + (.I0(o_mem_addr_OBUF[13]), + .O(\current_mem_addr[15]_i_15_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \current_mem_addr[15]_i_16 + (.I0(\FSM_onehot_state_reg_n_0_[6] ), + .I1(\FSM_onehot_state_reg_n_0_[5] ), + .I2(\FSM_onehot_state_reg_n_0_[4] ), + .I3(\FSM_onehot_state_reg_n_0_[11] ), + .I4(\FSM_onehot_state_reg_n_0_[20] ), + .I5(\FSM_onehot_state_reg_n_0_[23] ), + .O(\current_mem_addr[15]_i_16_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_17 + (.I0(o_mem_addr_OBUF[15]), + .O(\current_mem_addr[15]_i_17_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_18 + (.I0(o_mem_addr_OBUF[14]), + .O(\current_mem_addr[15]_i_18_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_19 + (.I0(o_mem_addr_OBUF[13]), + .O(\current_mem_addr[15]_i_19_n_0 )); + LUT6 #( + .INIT(64'hFFF4FFF4FFFFFFF4)) + \current_mem_addr[15]_i_2 + (.I0(\current_mem_addr[15]_i_3_n_0 ), + .I1(o_mem_addr_OBUF[15]), + .I2(\current_mem_addr[15]_i_4_n_0 ), + .I3(\current_mem_addr[15]_i_5_n_0 ), + .I4(in26[15]), + .I5(\current_mem_addr[15]_i_7_n_0 ), + .O(\current_mem_addr[15]_i_2_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_20 + (.I0(o_mem_addr_OBUF[12]), + .O(\current_mem_addr[15]_i_20_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_21 + (.I0(o_mem_addr_OBUF[12]), + .O(\current_mem_addr[15]_i_21_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_22 + (.I0(o_mem_addr_OBUF[11]), + .O(\current_mem_addr[15]_i_22_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_23 + (.I0(o_mem_addr_OBUF[10]), + .O(\current_mem_addr[15]_i_23_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_24 + (.I0(o_mem_addr_OBUF[9]), + .O(\current_mem_addr[15]_i_24_n_0 )); + LUT6 #( + .INIT(64'h0000000011010000)) + \current_mem_addr[15]_i_3 + (.I0(\FSM_onehot_state[1]_i_3_n_0 ), + .I1(\FSM_onehot_state[1]_i_4_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I4(\current_mem_addr[14]_i_3_n_0 ), + .I5(\FSM_onehot_state[1]_i_2_n_0 ), + .O(\current_mem_addr[15]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[15]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[15]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[15]), + .O(\current_mem_addr[15]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair25" *) + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[15]_i_5 + (.I0(in27[15]), + .I1(\FSM_onehot_state_reg_n_0_[13] ), + .I2(in30[15]), + .I3(\FSM_onehot_state_reg_n_0_[21] ), + .O(\current_mem_addr[15]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair32" *) + LUT3 #( + .INIT(8'h45)) + \current_mem_addr[15]_i_7 + (.I0(\FSM_onehot_state_reg_n_0_[12] ), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .O(\current_mem_addr[15]_i_7_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \current_mem_addr[15]_i_8 + (.I0(\current_mem_addr[15]_i_16_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[17] ), + .I2(\FSM_onehot_state_reg_n_0_[15] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[18] ), + .I5(\current_mem_addr[14]_i_7_n_0 ), + .O(\current_mem_addr[15]_i_8_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \current_mem_addr[1]_i_1 + (.I0(\current_mem_addr[1]_i_2_n_0 ), + .I1(\current_mem_addr[1]_i_3_n_0 ), + .I2(\current_mem_addr[1]_i_4_n_0 ), + .I3(\current_mem_addr[1]_i_5_n_0 ), + .I4(\current_mem_addr[1]_i_6_n_0 ), + .I5(\current_mem_addr[1]_i_7_n_0 ), + .O(\current_mem_addr[1]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair16" *) + LUT4 #( + .INIT(16'h888A)) + \current_mem_addr[1]_i_2 + (.I0(current_task_count[1]), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .O(\current_mem_addr[1]_i_2_n_0 )); + LUT6 #( + .INIT(64'hA8A8AAA8AAAAAAAA)) + \current_mem_addr[1]_i_3 + (.I0(o_mem_addr_OBUF[1]), + .I1(\FSM_onehot_state[1]_i_3_n_0 ), + .I2(\FSM_onehot_state[1]_i_4_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[10] ), + .I4(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I5(\current_mem_addr[14]_i_3_n_0 ), + .O(\current_mem_addr[1]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[1]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[1]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[1]), + .O(\current_mem_addr[1]_i_4_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[1]_i_5 + (.I0(in30[1]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[1]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[1]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair20" *) + LUT2 #( + .INIT(4'h8)) + \current_mem_addr[1]_i_6 + (.I0(o_mem_addr_OBUF[1]), + .I1(\FSM_onehot_state[1]_i_2_n_0 ), + .O(\current_mem_addr[1]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair15" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[1]_i_7 + (.I0(in26[1]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[1]_i_7_n_0 )); + LUT5 #( + .INIT(32'hFFFFEEFE)) + \current_mem_addr[2]_i_1 + (.I0(\current_mem_addr[2]_i_2_n_0 ), + .I1(\current_mem_addr[2]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[2]), + .I3(\current_mem_addr[15]_i_3_n_0 ), + .I4(\current_mem_addr[2]_i_4_n_0 ), + .O(\current_mem_addr[2]_i_1_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[2]_i_2 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[2]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[2]), + .O(\current_mem_addr[2]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[2]_i_3 + (.I0(in30[2]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[2]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[2]_i_3_n_0 )); + LUT6 #( + .INIT(64'hF8FFF8FC888888CC)) + \current_mem_addr[2]_i_4 + (.I0(\FSM_onehot_state[15]_i_2_n_0 ), + .I1(current_task_count[2]), + .I2(\FSM_onehot_state_reg_n_0_[12] ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .I4(\FSM_onehot_state[17]_i_2_n_0 ), + .I5(in26[2]), + .O(\current_mem_addr[2]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFF0FFB0)) + \current_mem_addr[3]_i_1 + (.I0(\FSM_onehot_state[1]_i_2_n_0 ), + .I1(\current_mem_addr[3]_i_2_n_0 ), + .I2(o_mem_addr_OBUF[3]), + .I3(\current_mem_addr[3]_i_3_n_0 ), + .I4(\current_mem_addr[3]_i_4_n_0 ), + .I5(\current_mem_addr[3]_i_5_n_0 ), + .O(\current_mem_addr[3]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[3]_i_10 + (.I0(o_mem_addr_OBUF[3]), + .O(\current_mem_addr[3]_i_10_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[3]_i_11 + (.I0(o_mem_addr_OBUF[2]), + .O(\current_mem_addr[3]_i_11_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[3]_i_12 + (.I0(o_mem_addr_OBUF[1]), + .O(\current_mem_addr[3]_i_12_n_0 )); + LUT5 #( + .INIT(32'h0000008A)) + \current_mem_addr[3]_i_2 + (.I0(\current_mem_addr[14]_i_3_n_0 ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state[1]_i_4_n_0 ), + .I4(\FSM_onehot_state[1]_i_3_n_0 ), + .O(\current_mem_addr[3]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFF888F888F888)) + \current_mem_addr[3]_i_3 + (.I0(\current_mem_addr[3]_i_6_n_0 ), + .I1(in23[3]), + .I2(\FSM_onehot_state_reg_n_0_[13] ), + .I3(in27[3]), + .I4(\FSM_onehot_state_reg_n_0_[21] ), + .I5(in30[3]), + .O(\current_mem_addr[3]_i_3_n_0 )); + LUT2 #( + .INIT(4'h8)) + \current_mem_addr[3]_i_4 + (.I0(in23[3]), + .I1(\current_mem_addr[15]_i_8_n_0 ), + .O(\current_mem_addr[3]_i_4_n_0 )); + LUT6 #( + .INIT(64'hF8FFF8FC888888CC)) + \current_mem_addr[3]_i_5 + (.I0(\FSM_onehot_state[15]_i_2_n_0 ), + .I1(current_task_count[3]), + .I2(\FSM_onehot_state_reg_n_0_[12] ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .I4(\FSM_onehot_state[17]_i_2_n_0 ), + .I5(in26[3]), + .O(\current_mem_addr[3]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair9" *) + LUT3 #( + .INIT(8'hFE)) + \current_mem_addr[3]_i_6 + (.I0(\FSM_onehot_state_reg_n_0_[6] ), + .I1(\FSM_onehot_state_reg_n_0_[9] ), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .O(\current_mem_addr[3]_i_6_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[3]_i_9 + (.I0(o_mem_addr_OBUF[1]), + .O(\current_mem_addr[3]_i_9_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \current_mem_addr[4]_i_1 + (.I0(\current_mem_addr[4]_i_2_n_0 ), + .I1(\current_mem_addr[4]_i_3_n_0 ), + .I2(\current_mem_addr[4]_i_4_n_0 ), + .I3(\current_mem_addr[4]_i_5_n_0 ), + .I4(\current_mem_addr[4]_i_6_n_0 ), + .I5(\current_mem_addr[4]_i_7_n_0 ), + .O(\current_mem_addr[4]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[4]_i_10 + (.I0(o_mem_addr_OBUF[4]), + .O(\current_mem_addr[4]_i_10_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[4]_i_11 + (.I0(o_mem_addr_OBUF[3]), + .O(\current_mem_addr[4]_i_11_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[4]_i_12 + (.I0(o_mem_addr_OBUF[2]), + .O(\current_mem_addr[4]_i_12_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[4]_i_13 + (.I0(o_mem_addr_OBUF[1]), + .O(\current_mem_addr[4]_i_13_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair16" *) + LUT4 #( + .INIT(16'h888A)) + \current_mem_addr[4]_i_2 + (.I0(current_task_count[4]), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .O(\current_mem_addr[4]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair28" *) + LUT3 #( + .INIT(8'h20)) + \current_mem_addr[4]_i_3 + (.I0(in26[4]), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .O(\current_mem_addr[4]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[4]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[4]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[4]), + .O(\current_mem_addr[4]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFF888F888F888)) + \current_mem_addr[4]_i_5 + (.I0(in30[4]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(\FSM_onehot_state_reg_n_0_[12] ), + .I3(in26[4]), + .I4(\FSM_onehot_state_reg_n_0_[13] ), + .I5(in27[4]), + .O(\current_mem_addr[4]_i_5_n_0 )); + LUT4 #( + .INIT(16'h88A8)) + \current_mem_addr[4]_i_6 + (.I0(o_mem_addr_OBUF[4]), + .I1(\FSM_onehot_state[1]_i_4_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\current_mem_addr[4]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair20" *) + LUT4 #( + .INIT(16'hAA8A)) + \current_mem_addr[4]_i_7 + (.I0(o_mem_addr_OBUF[4]), + .I1(\FSM_onehot_state[1]_i_3_n_0 ), + .I2(\current_mem_addr[14]_i_3_n_0 ), + .I3(\FSM_onehot_state[1]_i_2_n_0 ), + .O(\current_mem_addr[4]_i_7_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFF4)) + \current_mem_addr[5]_i_1 + (.I0(\current_mem_addr[15]_i_3_n_0 ), + .I1(o_mem_addr_OBUF[5]), + .I2(\current_mem_addr[5]_i_2_n_0 ), + .I3(\current_mem_addr[5]_i_3_n_0 ), + .I4(\current_mem_addr[5]_i_4_n_0 ), + .I5(\current_mem_addr[5]_i_5_n_0 ), + .O(\current_mem_addr[5]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair28" *) + LUT3 #( + .INIT(8'h20)) + \current_mem_addr[5]_i_2 + (.I0(in26[5]), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .O(\current_mem_addr[5]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFF888F888F888)) + \current_mem_addr[5]_i_3 + (.I0(in26[5]), + .I1(\FSM_onehot_state_reg_n_0_[12] ), + .I2(\FSM_onehot_state_reg_n_0_[13] ), + .I3(in27[5]), + .I4(\FSM_onehot_state_reg_n_0_[21] ), + .I5(in30[5]), + .O(\current_mem_addr[5]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[5]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[5]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[5]), + .O(\current_mem_addr[5]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair17" *) + LUT4 #( + .INIT(16'h888A)) + \current_mem_addr[5]_i_5 + (.I0(current_task_count[5]), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .O(\current_mem_addr[5]_i_5_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFF4)) + \current_mem_addr[6]_i_1 + (.I0(\current_mem_addr[15]_i_3_n_0 ), + .I1(o_mem_addr_OBUF[6]), + .I2(\current_mem_addr[6]_i_2_n_0 ), + .I3(\current_mem_addr[6]_i_3_n_0 ), + .I4(\current_mem_addr[6]_i_4_n_0 ), + .I5(\current_mem_addr[6]_i_5_n_0 ), + .O(\current_mem_addr[6]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair29" *) + LUT3 #( + .INIT(8'h20)) + \current_mem_addr[6]_i_2 + (.I0(in26[6]), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .O(\current_mem_addr[6]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFF888F888F888)) + \current_mem_addr[6]_i_3 + (.I0(in26[6]), + .I1(\FSM_onehot_state_reg_n_0_[12] ), + .I2(\FSM_onehot_state_reg_n_0_[13] ), + .I3(in27[6]), + .I4(\FSM_onehot_state_reg_n_0_[21] ), + .I5(in30[6]), + .O(\current_mem_addr[6]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[6]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[6]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[6]), + .O(\current_mem_addr[6]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair17" *) + LUT4 #( + .INIT(16'h888A)) + \current_mem_addr[6]_i_5 + (.I0(current_task_count[6]), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .O(\current_mem_addr[6]_i_5_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFF4)) + \current_mem_addr[7]_i_1 + (.I0(\current_mem_addr[15]_i_3_n_0 ), + .I1(o_mem_addr_OBUF[7]), + .I2(\current_mem_addr[7]_i_2_n_0 ), + .I3(\current_mem_addr[7]_i_3_n_0 ), + .I4(\current_mem_addr[7]_i_4_n_0 ), + .I5(\current_mem_addr[7]_i_5_n_0 ), + .O(\current_mem_addr[7]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[7]_i_10 + (.I0(o_mem_addr_OBUF[5]), + .O(\current_mem_addr[7]_i_10_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[7]_i_11 + (.I0(o_mem_addr_OBUF[4]), + .O(\current_mem_addr[7]_i_11_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair29" *) + LUT3 #( + .INIT(8'h20)) + \current_mem_addr[7]_i_2 + (.I0(in26[7]), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .O(\current_mem_addr[7]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFF888F888F888)) + \current_mem_addr[7]_i_3 + (.I0(in26[7]), + .I1(\FSM_onehot_state_reg_n_0_[12] ), + .I2(\FSM_onehot_state_reg_n_0_[13] ), + .I3(in27[7]), + .I4(\FSM_onehot_state_reg_n_0_[21] ), + .I5(in30[7]), + .O(\current_mem_addr[7]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[7]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[7]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[7]), + .O(\current_mem_addr[7]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair18" *) + LUT4 #( + .INIT(16'h888A)) + \current_mem_addr[7]_i_5 + (.I0(current_task_count[7]), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .O(\current_mem_addr[7]_i_5_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[7]_i_8 + (.I0(o_mem_addr_OBUF[7]), + .O(\current_mem_addr[7]_i_8_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[7]_i_9 + (.I0(o_mem_addr_OBUF[6]), + .O(\current_mem_addr[7]_i_9_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[8]_i_1 + (.I0(\current_mem_addr[8]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[8]), + .I3(\current_mem_addr[8]_i_3_n_0 ), + .I4(\current_mem_addr[8]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[8]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[8]_i_10 + (.I0(o_mem_addr_OBUF[5]), + .O(\current_mem_addr[8]_i_10_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair15" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[8]_i_2 + (.I0(in26[8]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[8]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[8]_i_3 + (.I0(in30[8]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[8]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[8]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[8]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[8]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[8]), + .O(\current_mem_addr[8]_i_4_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[8]_i_7 + (.I0(o_mem_addr_OBUF[8]), + .O(\current_mem_addr[8]_i_7_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[8]_i_8 + (.I0(o_mem_addr_OBUF[7]), + .O(\current_mem_addr[8]_i_8_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[8]_i_9 + (.I0(o_mem_addr_OBUF[6]), + .O(\current_mem_addr[8]_i_9_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[9]_i_1 + (.I0(\current_mem_addr[9]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[9]), + .I3(\current_mem_addr[9]_i_3_n_0 ), + .I4(\current_mem_addr[9]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[9]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair14" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[9]_i_2 + (.I0(in26[9]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[9]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[9]_i_3 + (.I0(in30[9]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[9]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[9]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[9]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[9]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[9]), + .O(\current_mem_addr[9]_i_4_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[0]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[0]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[10] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[10]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[10]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[11] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[11]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[11]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[11]_i_5 + (.CI(\current_mem_addr_reg[7]_i_6_n_0 ), + .CO({\current_mem_addr_reg[11]_i_5_n_0 ,\current_mem_addr_reg[11]_i_5_n_1 ,\current_mem_addr_reg[11]_i_5_n_2 ,\current_mem_addr_reg[11]_i_5_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in27[11:8]), + .S(o_mem_addr_OBUF[11:8])); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[11]_i_6 + (.CI(\current_mem_addr_reg[7]_i_7_n_0 ), + .CO({\current_mem_addr_reg[11]_i_6_n_0 ,\current_mem_addr_reg[11]_i_6_n_1 ,\current_mem_addr_reg[11]_i_6_n_2 ,\current_mem_addr_reg[11]_i_6_n_3 }), + .CYINIT(1'b0), + .DI(o_mem_addr_OBUF[11:8]), + .O(in30[11:8]), + .S({\current_mem_addr[11]_i_7_n_0 ,\current_mem_addr[11]_i_8_n_0 ,\current_mem_addr[11]_i_9_n_0 ,\current_mem_addr[11]_i_10_n_0 })); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[12] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[12]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[12]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[12]_i_5 + (.CI(\current_mem_addr_reg[8]_i_6_n_0 ), + .CO({\current_mem_addr_reg[12]_i_5_n_0 ,\current_mem_addr_reg[12]_i_5_n_1 ,\current_mem_addr_reg[12]_i_5_n_2 ,\current_mem_addr_reg[12]_i_5_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in23[12:9]), + .S(o_mem_addr_OBUF[12:9])); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[13] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[13]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[13]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[14] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[14]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[14]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[15] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[15]_i_2_n_0 ), + .Q(o_mem_addr_OBUF[15]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[15]_i_10 + (.CI(\current_mem_addr_reg[11]_i_5_n_0 ), + .CO({\NLW_current_mem_addr_reg[15]_i_10_CO_UNCONNECTED [3],\current_mem_addr_reg[15]_i_10_n_1 ,\current_mem_addr_reg[15]_i_10_n_2 ,\current_mem_addr_reg[15]_i_10_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in27[15:12]), + .S(o_mem_addr_OBUF[15:12])); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[15]_i_11 + (.CI(\current_mem_addr_reg[11]_i_6_n_0 ), + .CO({\NLW_current_mem_addr_reg[15]_i_11_CO_UNCONNECTED [3],\current_mem_addr_reg[15]_i_11_n_1 ,\current_mem_addr_reg[15]_i_11_n_2 ,\current_mem_addr_reg[15]_i_11_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,o_mem_addr_OBUF[14:12]}), + .O(in30[15:12]), + .S({\current_mem_addr[15]_i_17_n_0 ,\current_mem_addr[15]_i_18_n_0 ,\current_mem_addr[15]_i_19_n_0 ,\current_mem_addr[15]_i_20_n_0 })); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[15]_i_12 + (.CI(\current_mem_addr_reg[8]_i_5_n_0 ), + .CO({\current_mem_addr_reg[15]_i_12_n_0 ,\current_mem_addr_reg[15]_i_12_n_1 ,\current_mem_addr_reg[15]_i_12_n_2 ,\current_mem_addr_reg[15]_i_12_n_3 }), + .CYINIT(1'b0), + .DI(o_mem_addr_OBUF[12:9]), + .O(in26[12:9]), + .S({\current_mem_addr[15]_i_21_n_0 ,\current_mem_addr[15]_i_22_n_0 ,\current_mem_addr[15]_i_23_n_0 ,\current_mem_addr[15]_i_24_n_0 })); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[15]_i_6 + (.CI(\current_mem_addr_reg[15]_i_12_n_0 ), + .CO({\NLW_current_mem_addr_reg[15]_i_6_CO_UNCONNECTED [3:2],\current_mem_addr_reg[15]_i_6_n_2 ,\current_mem_addr_reg[15]_i_6_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,o_mem_addr_OBUF[14:13]}), + .O({\NLW_current_mem_addr_reg[15]_i_6_O_UNCONNECTED [3],in26[15:13]}), + .S({1'b0,\current_mem_addr[15]_i_13_n_0 ,\current_mem_addr[15]_i_14_n_0 ,\current_mem_addr[15]_i_15_n_0 })); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[15]_i_9 + (.CI(\current_mem_addr_reg[12]_i_5_n_0 ), + .CO({\NLW_current_mem_addr_reg[15]_i_9_CO_UNCONNECTED [3:2],\current_mem_addr_reg[15]_i_9_n_2 ,\current_mem_addr_reg[15]_i_9_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O({\NLW_current_mem_addr_reg[15]_i_9_O_UNCONNECTED [3],in23[15:13]}), + .S({1'b0,o_mem_addr_OBUF[15:13]})); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[1]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[1]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[2]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[2]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[3]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[3]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[3]_i_7 + (.CI(1'b0), + .CO({\current_mem_addr_reg[3]_i_7_n_0 ,\current_mem_addr_reg[3]_i_7_n_1 ,\current_mem_addr_reg[3]_i_7_n_2 ,\current_mem_addr_reg[3]_i_7_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,o_mem_addr_OBUF[1],1'b0}), + .O({in27[3:1],in30[0]}), + .S({o_mem_addr_OBUF[3:2],\current_mem_addr[3]_i_9_n_0 ,o_mem_addr_OBUF[0]})); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[3]_i_8 + (.CI(1'b0), + .CO({\current_mem_addr_reg[3]_i_8_n_0 ,\current_mem_addr_reg[3]_i_8_n_1 ,\current_mem_addr_reg[3]_i_8_n_2 ,\current_mem_addr_reg[3]_i_8_n_3 }), + .CYINIT(1'b0), + .DI({o_mem_addr_OBUF[3:1],1'b0}), + .O({in30[3:1],\NLW_current_mem_addr_reg[3]_i_8_O_UNCONNECTED [0]}), + .S({\current_mem_addr[3]_i_10_n_0 ,\current_mem_addr[3]_i_11_n_0 ,\current_mem_addr[3]_i_12_n_0 ,o_mem_addr_OBUF[0]})); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[4]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[4]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[4]_i_8 + (.CI(1'b0), + .CO({\current_mem_addr_reg[4]_i_8_n_0 ,\current_mem_addr_reg[4]_i_8_n_1 ,\current_mem_addr_reg[4]_i_8_n_2 ,\current_mem_addr_reg[4]_i_8_n_3 }), + .CYINIT(o_mem_addr_OBUF[0]), + .DI(o_mem_addr_OBUF[4:1]), + .O(in26[4:1]), + .S({\current_mem_addr[4]_i_10_n_0 ,\current_mem_addr[4]_i_11_n_0 ,\current_mem_addr[4]_i_12_n_0 ,\current_mem_addr[4]_i_13_n_0 })); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[4]_i_9 + (.CI(1'b0), + .CO({\current_mem_addr_reg[4]_i_9_n_0 ,\current_mem_addr_reg[4]_i_9_n_1 ,\current_mem_addr_reg[4]_i_9_n_2 ,\current_mem_addr_reg[4]_i_9_n_3 }), + .CYINIT(o_mem_addr_OBUF[0]), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in23[4:1]), + .S(o_mem_addr_OBUF[4:1])); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[5]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[5]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[6] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[6]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[6]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[7] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[7]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[7]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[7]_i_6 + (.CI(\current_mem_addr_reg[3]_i_7_n_0 ), + .CO({\current_mem_addr_reg[7]_i_6_n_0 ,\current_mem_addr_reg[7]_i_6_n_1 ,\current_mem_addr_reg[7]_i_6_n_2 ,\current_mem_addr_reg[7]_i_6_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in27[7:4]), + .S(o_mem_addr_OBUF[7:4])); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[7]_i_7 + (.CI(\current_mem_addr_reg[3]_i_8_n_0 ), + .CO({\current_mem_addr_reg[7]_i_7_n_0 ,\current_mem_addr_reg[7]_i_7_n_1 ,\current_mem_addr_reg[7]_i_7_n_2 ,\current_mem_addr_reg[7]_i_7_n_3 }), + .CYINIT(1'b0), + .DI(o_mem_addr_OBUF[7:4]), + .O(in30[7:4]), + .S({\current_mem_addr[7]_i_8_n_0 ,\current_mem_addr[7]_i_9_n_0 ,\current_mem_addr[7]_i_10_n_0 ,\current_mem_addr[7]_i_11_n_0 })); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[8] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[8]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[8]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[8]_i_5 + (.CI(\current_mem_addr_reg[4]_i_8_n_0 ), + .CO({\current_mem_addr_reg[8]_i_5_n_0 ,\current_mem_addr_reg[8]_i_5_n_1 ,\current_mem_addr_reg[8]_i_5_n_2 ,\current_mem_addr_reg[8]_i_5_n_3 }), + .CYINIT(1'b0), + .DI(o_mem_addr_OBUF[8:5]), + .O(in26[8:5]), + .S({\current_mem_addr[8]_i_7_n_0 ,\current_mem_addr[8]_i_8_n_0 ,\current_mem_addr[8]_i_9_n_0 ,\current_mem_addr[8]_i_10_n_0 })); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[8]_i_6 + (.CI(\current_mem_addr_reg[4]_i_9_n_0 ), + .CO({\current_mem_addr_reg[8]_i_6_n_0 ,\current_mem_addr_reg[8]_i_6_n_1 ,\current_mem_addr_reg[8]_i_6_n_2 ,\current_mem_addr_reg[8]_i_6_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in23[8:5]), + .S(o_mem_addr_OBUF[8:5])); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[9] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[9]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[9]), + .R(1'b0)); + LUT5 #( + .INIT(32'h000000EA)) + \current_popped_id[5]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[0] ), + .I1(\FSM_onehot_state_reg_n_0_[2] ), + .I2(i_start_IBUF), + .I3(i_rst_IBUF), + .I4(\FSM_onehot_state_reg_n_0_[9] ), + .O(\current_popped_id[5]_i_1_n_0 )); + LUT5 #( + .INIT(32'h55555540)) + \current_popped_id[5]_i_2 + (.I0(i_rst_IBUF), + .I1(i_start_IBUF), + .I2(\FSM_onehot_state_reg_n_0_[2] ), + .I3(\FSM_onehot_state_reg_n_0_[0] ), + .I4(\FSM_onehot_state_reg_n_0_[9] ), + .O(\current_popped_id[5]_i_2_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[2]), + .Q(current_popped_id[0]), + .R(\current_popped_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[3]), + .Q(current_popped_id[1]), + .R(\current_popped_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[4]), + .Q(current_popped_id[2]), + .R(\current_popped_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[5]), + .Q(current_popped_id[3]), + .R(\current_popped_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[6]), + .Q(current_popped_id[4]), + .R(\current_popped_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[7]), + .Q(current_popped_id[5]), + .R(\current_popped_id[5]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair35" *) + LUT3 #( + .INIT(8'h54)) + \current_task_count[0]_i_1 + (.I0(current_task_count[0]), + .I1(\FSM_onehot_state_reg_n_0_[10] ), + .I2(\FSM_onehot_state_reg_n_0_[19] ), + .O(\current_task_count[0]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair3" *) + LUT4 #( + .INIT(16'hEB28)) + \current_task_count[1]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[0]), + .I2(current_task_count[1]), + .I3(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[1]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair3" *) + LUT5 #( + .INIT(32'hECCB2888)) + \current_task_count[2]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[2]), + .I2(current_task_count[1]), + .I3(current_task_count[0]), + .I4(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[2]_i_1_n_0 )); + LUT6 #( + .INIT(64'hECCCCCCB28888888)) + \current_task_count[3]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[3]), + .I2(current_task_count[0]), + .I3(current_task_count[1]), + .I4(current_task_count[2]), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[3]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair2" *) + LUT4 #( + .INIT(16'hBEAA)) + \current_task_count[4]_i_1 + (.I0(\current_task_count[4]_i_2_n_0 ), + .I1(current_task_count[4]), + .I2(\current_task_count[5]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[4]_i_1_n_0 )); + LUT6 #( + .INIT(64'h2AAAAAAA80000000)) + \current_task_count[4]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[2]), + .I2(current_task_count[0]), + .I3(current_task_count[1]), + .I4(current_task_count[3]), + .I5(current_task_count[4]), + .O(\current_task_count[4]_i_2_n_0 )); + LUT6 #( + .INIT(64'hF44FF4F444444444)) + \current_task_count[5]_i_1 + (.I0(\current_task_count[5]_i_2_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(current_task_count[5]), + .I3(current_task_count[4]), + .I4(\current_task_count[5]_i_3_n_0 ), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[5]_i_1_n_0 )); + LUT6 #( + .INIT(64'h9555555555555555)) + \current_task_count[5]_i_2 + (.I0(current_task_count[5]), + .I1(current_task_count[4]), + .I2(current_task_count[2]), + .I3(current_task_count[0]), + .I4(current_task_count[1]), + .I5(current_task_count[3]), + .O(\current_task_count[5]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair6" *) + LUT4 #( + .INIT(16'h0001)) + \current_task_count[5]_i_3 + (.I0(current_task_count[3]), + .I1(current_task_count[0]), + .I2(current_task_count[1]), + .I3(current_task_count[2]), + .O(\current_task_count[5]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair4" *) + LUT5 #( + .INIT(32'h8FF48484)) + \current_task_count[6]_i_1 + (.I0(\current_task_count[7]_i_3_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(current_task_count[6]), + .I3(\current_task_count[7]_i_4_n_0 ), + .I4(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[6]_i_1_n_0 )); + LUT6 #( + .INIT(64'h5555555555555444)) + \current_task_count[7]_i_1 + (.I0(i_rst_IBUF), + .I1(\FSM_onehot_state_reg_n_0_[22] ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I4(\FSM_onehot_state_reg_n_0_[19] ), + .I5(\FSM_onehot_state_reg_n_0_[0] ), + .O(\current_task_count[7]_i_1_n_0 )); + LUT6 #( + .INIT(64'hF4CFF4F084C084C0)) + \current_task_count[7]_i_2 + (.I0(\current_task_count[7]_i_3_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(current_task_count[7]), + .I3(current_task_count[6]), + .I4(\current_task_count[7]_i_4_n_0 ), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[7]_i_2_n_0 )); + LUT6 #( + .INIT(64'h7FFFFFFFFFFFFFFF)) + \current_task_count[7]_i_3 + (.I0(current_task_count[4]), + .I1(current_task_count[2]), + .I2(current_task_count[0]), + .I3(current_task_count[1]), + .I4(current_task_count[3]), + .I5(current_task_count[5]), + .O(\current_task_count[7]_i_3_n_0 )); + LUT6 #( + .INIT(64'h0000000000000001)) + \current_task_count[7]_i_4 + (.I0(current_task_count[2]), + .I1(current_task_count[1]), + .I2(current_task_count[0]), + .I3(current_task_count[3]), + .I4(current_task_count[5]), + .I5(current_task_count[4]), + .O(\current_task_count[7]_i_4_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[0]_i_1_n_0 ), + .Q(current_task_count[0]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[1]_i_1_n_0 ), + .Q(current_task_count[1]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[2]_i_1_n_0 ), + .Q(current_task_count[2]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[3]_i_1_n_0 ), + .Q(current_task_count[3]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[4]_i_1_n_0 ), + .Q(current_task_count[4]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[5]_i_1_n_0 ), + .Q(current_task_count[5]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[6] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[6]_i_1_n_0 ), + .Q(current_task_count[6]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[7] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[7]_i_2_n_0 ), + .Q(current_task_count[7]), + .R(1'b0)); + BUFG i_clk_IBUF_BUFG_inst + (.I(i_clk_IBUF), + .O(i_clk_IBUF_BUFG)); + IBUF i_clk_IBUF_inst + (.I(i_clk), + .O(i_clk_IBUF)); + IBUF \i_mem_data_IBUF[0]_inst + (.I(i_mem_data[0]), + .O(i_mem_data_IBUF[0])); + IBUF \i_mem_data_IBUF[1]_inst + (.I(i_mem_data[1]), + .O(i_mem_data_IBUF[1])); + IBUF \i_mem_data_IBUF[2]_inst + (.I(i_mem_data[2]), + .O(i_mem_data_IBUF[2])); + IBUF \i_mem_data_IBUF[3]_inst + (.I(i_mem_data[3]), + .O(i_mem_data_IBUF[3])); + IBUF \i_mem_data_IBUF[4]_inst + (.I(i_mem_data[4]), + .O(i_mem_data_IBUF[4])); + IBUF \i_mem_data_IBUF[5]_inst + (.I(i_mem_data[5]), + .O(i_mem_data_IBUF[5])); + IBUF \i_mem_data_IBUF[6]_inst + (.I(i_mem_data[6]), + .O(i_mem_data_IBUF[6])); + IBUF \i_mem_data_IBUF[7]_inst + (.I(i_mem_data[7]), + .O(i_mem_data_IBUF[7])); + IBUF \i_op_IBUF[0]_inst + (.I(i_op[0]), + .O(i_op_IBUF[0])); + IBUF \i_op_IBUF[1]_inst + (.I(i_op[1]), + .O(i_op_IBUF[1])); + IBUF i_rst_IBUF_inst + (.I(i_rst), + .O(i_rst_IBUF)); + IBUF i_start_IBUF_inst + (.I(i_start), + .O(i_start_IBUF)); + IBUF \i_task_id_IBUF[0]_inst + (.I(i_task_id[0]), + .O(i_task_id_IBUF[0])); + IBUF \i_task_id_IBUF[1]_inst + (.I(i_task_id[1]), + .O(i_task_id_IBUF[1])); + IBUF \i_task_id_IBUF[2]_inst + (.I(i_task_id[2]), + .O(i_task_id_IBUF[2])); + IBUF \i_task_id_IBUF[3]_inst + (.I(i_task_id[3]), + .O(i_task_id_IBUF[3])); + IBUF \i_task_id_IBUF[4]_inst + (.I(i_task_id[4]), + .O(i_task_id_IBUF[4])); + IBUF \i_task_id_IBUF[5]_inst + (.I(i_task_id[5]), + .O(i_task_id_IBUF[5])); + IBUF \i_task_priority_IBUF[0]_inst + (.I(i_task_priority[0]), + .O(i_task_priority_IBUF[0])); + IBUF \i_task_priority_IBUF[1]_inst + (.I(i_task_priority[1]), + .O(i_task_priority_IBUF[1])); + OBUF o_done_OBUF_inst + (.I(o_done_OBUF), + .O(o_done)); + (* SOFT_HLUTNM = "soft_lutpair24" *) + LUT3 #( + .INIT(8'hEA)) + o_done_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[0] ), + .I1(\FSM_onehot_state_reg_n_0_[1] ), + .I2(i_start_IBUF), + .O(ctrl_done)); + FDPE #( + .INIT(1'b1)) + o_done_reg + (.C(i_clk_IBUF_BUFG), + .CE(1'b1), + .D(ctrl_done), + .PRE(i_rst_IBUF), + .Q(o_done_OBUF)); + OBUF \o_mem_addr_OBUF[0]_inst + (.I(o_mem_addr_OBUF[0]), + .O(o_mem_addr[0])); + OBUF \o_mem_addr_OBUF[10]_inst + (.I(o_mem_addr_OBUF[10]), + .O(o_mem_addr[10])); + OBUF \o_mem_addr_OBUF[11]_inst + (.I(o_mem_addr_OBUF[11]), + .O(o_mem_addr[11])); + OBUF \o_mem_addr_OBUF[12]_inst + (.I(o_mem_addr_OBUF[12]), + .O(o_mem_addr[12])); + OBUF \o_mem_addr_OBUF[13]_inst + (.I(o_mem_addr_OBUF[13]), + .O(o_mem_addr[13])); + OBUF \o_mem_addr_OBUF[14]_inst + (.I(o_mem_addr_OBUF[14]), + .O(o_mem_addr[14])); + OBUF \o_mem_addr_OBUF[15]_inst + (.I(o_mem_addr_OBUF[15]), + .O(o_mem_addr[15])); + OBUF \o_mem_addr_OBUF[1]_inst + (.I(o_mem_addr_OBUF[1]), + .O(o_mem_addr[1])); + OBUF \o_mem_addr_OBUF[2]_inst + (.I(o_mem_addr_OBUF[2]), + .O(o_mem_addr[2])); + OBUF \o_mem_addr_OBUF[3]_inst + (.I(o_mem_addr_OBUF[3]), + .O(o_mem_addr[3])); + OBUF \o_mem_addr_OBUF[4]_inst + (.I(o_mem_addr_OBUF[4]), + .O(o_mem_addr[4])); + OBUF \o_mem_addr_OBUF[5]_inst + (.I(o_mem_addr_OBUF[5]), + .O(o_mem_addr[5])); + OBUF \o_mem_addr_OBUF[6]_inst + (.I(o_mem_addr_OBUF[6]), + .O(o_mem_addr[6])); + OBUF \o_mem_addr_OBUF[7]_inst + (.I(o_mem_addr_OBUF[7]), + .O(o_mem_addr[7])); + OBUF \o_mem_addr_OBUF[8]_inst + (.I(o_mem_addr_OBUF[8]), + .O(o_mem_addr[8])); + OBUF \o_mem_addr_OBUF[9]_inst + (.I(o_mem_addr_OBUF[9]), + .O(o_mem_addr[9])); + LUT6 #( + .INIT(64'hFFE0FFE0FFFFFFE0)) + \o_mem_data[0]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[12] ), + .I1(\FSM_onehot_state[21]_i_1_n_0 ), + .I2(i_mem_data_IBUF[0]), + .I3(\o_mem_data[0]_i_2_n_0 ), + .I4(i_task_priority_IBUF[0]), + .I5(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\o_mem_data[0]_i_1_n_0 )); + LUT6 #( + .INIT(64'h0E0E0E0E0AFF0A0A)) + \o_mem_data[0]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(\FSM_onehot_state_reg_n_0_[10] ), + .I2(current_task_count[0]), + .I3(i_mem_data_IBUF[0]), + .I4(\FSM_onehot_state_reg_n_0_[5] ), + .I5(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\o_mem_data[0]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFBAFFBAFFFFFFBA)) + \o_mem_data[1]_i_1 + (.I0(\o_mem_data[1]_i_2_n_0 ), + .I1(\o_mem_data[1]_i_3_n_0 ), + .I2(\FSM_onehot_state[11]_i_1_n_0 ), + .I3(\o_mem_data[1]_i_4_n_0 ), + .I4(i_mem_data_IBUF[1]), + .I5(\o_mem_data[6]_i_3_n_0 ), + .O(\o_mem_data[1]_i_1_n_0 )); + LUT5 #( + .INIT(32'hAAAA8880)) + \o_mem_data[1]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[18] ), + .I1(i_mem_data_IBUF[1]), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(o_mem_addr_OBUF[0]), + .I4(i_task_priority_IBUF[1]), + .O(\o_mem_data[1]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair35" *) + LUT2 #( + .INIT(4'h6)) + \o_mem_data[1]_i_3 + (.I0(current_task_count[0]), + .I1(current_task_count[1]), + .O(\o_mem_data[1]_i_3_n_0 )); + LUT6 #( + .INIT(64'h88888F8888888888)) + \o_mem_data[1]_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(\o_mem_data[1]_i_3_n_0 ), + .I2(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I3(\FSM_onehot_state_reg_n_0_[5] ), + .I4(i_mem_data_IBUF[1]), + .I5(i_mem_data_IBUF[0]), + .O(\o_mem_data[1]_i_4_n_0 )); + LUT5 #( + .INIT(32'hF4F4FFF4)) + \o_mem_data[2]_i_1 + (.I0(\o_mem_data[7]_i_2_n_0 ), + .I1(i_mem_data_IBUF[2]), + .I2(\o_mem_data[2]_i_2_n_0 ), + .I3(i_task_id_IBUF[0]), + .I4(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\o_mem_data[2]_i_1_n_0 )); + LUT6 #( + .INIT(64'hECCB288828882888)) + \o_mem_data[2]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[2]), + .I2(current_task_count[1]), + .I3(current_task_count[0]), + .I4(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(\o_mem_data[2]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFF4FFF4FFFFFFF4)) + \o_mem_data[3]_i_1 + (.I0(\o_mem_data[7]_i_2_n_0 ), + .I1(i_mem_data_IBUF[3]), + .I2(\o_mem_data[3]_i_2_n_0 ), + .I3(\o_mem_data[3]_i_3_n_0 ), + .I4(i_task_id_IBUF[1]), + .I5(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\o_mem_data[3]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair6" *) + LUT5 #( + .INIT(32'h2AAA8000)) + \o_mem_data[3]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[1]), + .I2(current_task_count[0]), + .I3(current_task_count[2]), + .I4(current_task_count[3]), + .O(\o_mem_data[3]_i_2_n_0 )); + LUT6 #( + .INIT(64'h8888888000000008)) + \o_mem_data[3]_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[10] ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I2(current_task_count[2]), + .I3(current_task_count[1]), + .I4(current_task_count[0]), + .I5(current_task_count[3]), + .O(\o_mem_data[3]_i_3_n_0 )); + LUT5 #( + .INIT(32'hF4F4FFF4)) + \o_mem_data[4]_i_1 + (.I0(\o_mem_data[7]_i_2_n_0 ), + .I1(i_mem_data_IBUF[4]), + .I2(\o_mem_data[4]_i_2_n_0 ), + .I3(i_task_id_IBUF[2]), + .I4(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\o_mem_data[4]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair2" *) + LUT5 #( + .INIT(32'hBEAAAAAA)) + \o_mem_data[4]_i_2 + (.I0(\current_task_count[4]_i_2_n_0 ), + .I1(current_task_count[4]), + .I2(\current_task_count[5]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I4(\FSM_onehot_state_reg_n_0_[10] ), + .O(\o_mem_data[4]_i_2_n_0 )); + LUT5 #( + .INIT(32'hF4F4FFF4)) + \o_mem_data[5]_i_1 + (.I0(\o_mem_data[7]_i_2_n_0 ), + .I1(i_mem_data_IBUF[5]), + .I2(\o_mem_data[5]_i_2_n_0 ), + .I3(i_task_id_IBUF[3]), + .I4(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\o_mem_data[5]_i_1_n_0 )); + LUT5 #( + .INIT(32'h4F444444)) + \o_mem_data[5]_i_2 + (.I0(\current_task_count[5]_i_2_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(\o_mem_data[5]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I4(\FSM_onehot_state_reg_n_0_[10] ), + .O(\o_mem_data[5]_i_2_n_0 )); + LUT6 #( + .INIT(64'h5555555555555556)) + \o_mem_data[5]_i_3 + (.I0(current_task_count[5]), + .I1(current_task_count[4]), + .I2(current_task_count[3]), + .I3(current_task_count[0]), + .I4(current_task_count[1]), + .I5(current_task_count[2]), + .O(\o_mem_data[5]_i_3_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFF4F44)) + \o_mem_data[6]_i_1 + (.I0(\o_mem_data[6]_i_2_n_0 ), + .I1(\FSM_onehot_state[11]_i_1_n_0 ), + .I2(\o_mem_data[6]_i_3_n_0 ), + .I3(i_mem_data_IBUF[6]), + .I4(\o_mem_data[6]_i_4_n_0 ), + .I5(\o_mem_data[6]_i_5_n_0 ), + .O(\o_mem_data[6]_i_1_n_0 )); + LUT4 #( + .INIT(16'h5655)) + \o_mem_data[6]_i_2 + (.I0(current_task_count[6]), + .I1(current_task_count[4]), + .I2(current_task_count[5]), + .I3(\current_task_count[5]_i_3_n_0 ), + .O(\o_mem_data[6]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair8" *) + LUT5 #( + .INIT(32'h55554055)) + \o_mem_data[6]_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[12] ), + .I1(i_mem_data_IBUF[0]), + .I2(i_mem_data_IBUF[1]), + .I3(\FSM_onehot_state_reg_n_0_[5] ), + .I4(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\o_mem_data[6]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair4" *) + LUT3 #( + .INIT(8'h82)) + \o_mem_data[6]_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(\current_task_count[7]_i_3_n_0 ), + .I2(current_task_count[6]), + .O(\o_mem_data[6]_i_4_n_0 )); + LUT4 #( + .INIT(16'hE200)) + \o_mem_data[6]_i_5 + (.I0(i_task_id_IBUF[4]), + .I1(\FSM_onehot_state[21]_i_2_n_0 ), + .I2(i_mem_data_IBUF[6]), + .I3(\FSM_onehot_state_reg_n_0_[18] ), + .O(\o_mem_data[6]_i_5_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFF4F44)) + \o_mem_data[7]_i_1 + (.I0(\o_mem_data[7]_i_2_n_0 ), + .I1(i_mem_data_IBUF[7]), + .I2(\FSM_onehot_state[19]_i_2_n_0 ), + .I3(i_task_id_IBUF[5]), + .I4(\o_mem_data[7]_i_3_n_0 ), + .I5(\o_mem_data[7]_i_4_n_0 ), + .O(\o_mem_data[7]_i_1_n_0 )); + LUT6 #( + .INIT(64'h000000FB00FB00FB)) + \o_mem_data[7]_i_2 + (.I0(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I1(\FSM_onehot_state_reg_n_0_[5] ), + .I2(\o_mem_data[7]_i_5_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .I4(\FSM_onehot_state_reg_n_0_[18] ), + .I5(\FSM_onehot_state[21]_i_2_n_0 ), + .O(\o_mem_data[7]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair1" *) + LUT5 #( + .INIT(32'h88080080)) + \o_mem_data[7]_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[10] ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I2(\current_task_count[7]_i_4_n_0 ), + .I3(current_task_count[6]), + .I4(current_task_count[7]), + .O(\o_mem_data[7]_i_3_n_0 )); + LUT4 #( + .INIT(16'hA208)) + \o_mem_data[7]_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[6]), + .I2(\current_task_count[7]_i_3_n_0 ), + .I3(current_task_count[7]), + .O(\o_mem_data[7]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair19" *) + LUT2 #( + .INIT(4'h8)) + \o_mem_data[7]_i_5 + (.I0(i_mem_data_IBUF[0]), + .I1(i_mem_data_IBUF[1]), + .O(\o_mem_data[7]_i_5_n_0 )); + OBUF \o_mem_data_OBUF[0]_inst + (.I(o_mem_data_OBUF[0]), + .O(o_mem_data[0])); + OBUF \o_mem_data_OBUF[1]_inst + (.I(o_mem_data_OBUF[1]), + .O(o_mem_data[1])); + OBUF \o_mem_data_OBUF[2]_inst + (.I(o_mem_data_OBUF[2]), + .O(o_mem_data[2])); + OBUF \o_mem_data_OBUF[3]_inst + (.I(o_mem_data_OBUF[3]), + .O(o_mem_data[3])); + OBUF \o_mem_data_OBUF[4]_inst + (.I(o_mem_data_OBUF[4]), + .O(o_mem_data[4])); + OBUF \o_mem_data_OBUF[5]_inst + (.I(o_mem_data_OBUF[5]), + .O(o_mem_data[5])); + OBUF \o_mem_data_OBUF[6]_inst + (.I(o_mem_data_OBUF[6]), + .O(o_mem_data[6])); + OBUF \o_mem_data_OBUF[7]_inst + (.I(o_mem_data_OBUF[7]), + .O(o_mem_data[7])); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[0]_i_1_n_0 ), + .Q(o_mem_data_OBUF[0]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[1]_i_1_n_0 ), + .Q(o_mem_data_OBUF[1]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[2]_i_1_n_0 ), + .Q(o_mem_data_OBUF[2]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[3]_i_1_n_0 ), + .Q(o_mem_data_OBUF[3]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[4]_i_1_n_0 ), + .Q(o_mem_data_OBUF[4]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[5]_i_1_n_0 ), + .Q(o_mem_data_OBUF[5]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[6] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[6]_i_1_n_0 ), + .Q(o_mem_data_OBUF[6]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[7] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[7]_i_1_n_0 ), + .Q(o_mem_data_OBUF[7]), + .R(1'b0)); + OBUF o_mem_en_OBUF_inst + (.I(o_mem_en_OBUF), + .O(o_mem_en)); + LUT6 #( + .INIT(64'hFFFFFFFEFFFFFFFF)) + o_mem_en_i_1 + (.I0(\FSM_onehot_state[8]_i_1_n_0 ), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(o_mem_we_i_3_n_0), + .I3(o_mem_en_i_2_n_0), + .I4(o_mem_en_i_3_n_0), + .I5(\FSM_onehot_state[17]_i_3_n_0 ), + .O(ctrl_mem_en)); + (* SOFT_HLUTNM = "soft_lutpair11" *) + LUT4 #( + .INIT(16'hFFFE)) + o_mem_en_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[0] ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(\FSM_onehot_state_reg_n_0_[12] ), + .I3(\FSM_onehot_state_reg_n_0_[18] ), + .O(o_mem_en_i_2_n_0)); + LUT6 #( + .INIT(64'hFFFFFFFEFFFEFFFE)) + o_mem_en_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[6] ), + .I1(\FSM_onehot_state_reg_n_0_[3] ), + .I2(\FSM_onehot_state[10]_i_1_n_0 ), + .I3(o_mem_en_i_4_n_0), + .I4(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(o_mem_en_i_3_n_0)); + (* SOFT_HLUTNM = "soft_lutpair27" *) + LUT2 #( + .INIT(4'hE)) + o_mem_en_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[22] ), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .O(o_mem_en_i_4_n_0)); + FDCE #( + .INIT(1'b0)) + o_mem_en_reg + (.C(i_clk_IBUF_BUFG), + .CE(1'b1), + .CLR(i_rst_IBUF), + .D(ctrl_mem_en), + .Q(o_mem_en_OBUF)); + OBUF o_mem_we_OBUF_inst + (.I(o_mem_we_OBUF), + .O(o_mem_we)); + (* SOFT_HLUTNM = "soft_lutpair10" *) + LUT4 #( + .INIT(16'hFFFD)) + o_mem_we_i_1 + (.I0(o_mem_we_i_2_n_0), + .I1(o_mem_we_i_3_n_0), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(ctrl_mem_we)); + (* SOFT_HLUTNM = "soft_lutpair0" *) + LUT5 #( + .INIT(32'h00000111)) + o_mem_we_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[0] ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I3(\FSM_onehot_state_reg_n_0_[10] ), + .I4(\FSM_onehot_state_reg_n_0_[22] ), + .O(o_mem_we_i_2_n_0)); + (* SOFT_HLUTNM = "soft_lutpair8" *) + LUT4 #( + .INIT(16'h0444)) + o_mem_we_i_3 + (.I0(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I1(\FSM_onehot_state_reg_n_0_[5] ), + .I2(i_mem_data_IBUF[1]), + .I3(i_mem_data_IBUF[0]), + .O(o_mem_we_i_3_n_0)); + FDCE #( + .INIT(1'b0)) + o_mem_we_reg + (.C(i_clk_IBUF_BUFG), + .CE(1'b1), + .CLR(i_rst_IBUF), + .D(ctrl_mem_we), + .Q(o_mem_we_OBUF)); + LUT3 #( + .INIT(8'h07)) + \o_task_id[5]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[1] ), + .I1(i_start_IBUF), + .I2(i_rst_IBUF), + .O(\o_task_id[5]_i_1_n_0 )); + OBUF \o_task_id_OBUF[0]_inst + (.I(o_task_id_OBUF[0]), + .O(o_task_id[0])); + OBUF \o_task_id_OBUF[1]_inst + (.I(o_task_id_OBUF[1]), + .O(o_task_id[1])); + OBUF \o_task_id_OBUF[2]_inst + (.I(o_task_id_OBUF[2]), + .O(o_task_id[2])); + OBUF \o_task_id_OBUF[3]_inst + (.I(o_task_id_OBUF[3]), + .O(o_task_id[3])); + OBUF \o_task_id_OBUF[4]_inst + (.I(o_task_id_OBUF[4]), + .O(o_task_id[4])); + OBUF \o_task_id_OBUF[5]_inst + (.I(o_task_id_OBUF[5]), + .O(o_task_id[5])); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[0]), + .Q(o_task_id_OBUF[0]), + .R(\o_task_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[1]), + .Q(o_task_id_OBUF[1]), + .R(\o_task_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[2]), + .Q(o_task_id_OBUF[2]), + .R(\o_task_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[3]), + .Q(o_task_id_OBUF[3]), + .R(\o_task_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[4]), + .Q(o_task_id_OBUF[4]), + .R(\o_task_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[5]), + .Q(o_task_id_OBUF[5]), + .R(\o_task_id[5]_i_1_n_0 )); +endmodule +`ifndef GLBL +`define GLBL +`timescale 1 ps / 1 ps + +module glbl (); + + parameter ROC_WIDTH = 100000; + parameter TOC_WIDTH = 0; + parameter GRES_WIDTH = 10000; + parameter GRES_START = 10000; + +//-------- STARTUP Globals -------------- + wire GSR; + wire GTS; + wire GWE; + wire PRLD; + wire GRESTORE; + tri1 p_up_tmp; + tri (weak1, strong0) PLL_LOCKG = p_up_tmp; + + wire PROGB_GLBL; + wire CCLKO_GLBL; + wire FCSBO_GLBL; + wire [3:0] DO_GLBL; + wire [3:0] DI_GLBL; + + reg GSR_int; + reg GTS_int; + reg PRLD_int; + reg GRESTORE_int; + +//-------- JTAG Globals -------------- + wire JTAG_TDO_GLBL; + wire JTAG_TCK_GLBL; + wire JTAG_TDI_GLBL; + wire JTAG_TMS_GLBL; + wire JTAG_TRST_GLBL; + + reg JTAG_CAPTURE_GLBL; + reg JTAG_RESET_GLBL; + reg JTAG_SHIFT_GLBL; + reg JTAG_UPDATE_GLBL; + reg JTAG_RUNTEST_GLBL; + + reg JTAG_SEL1_GLBL = 0; + reg JTAG_SEL2_GLBL = 0 ; + reg JTAG_SEL3_GLBL = 0; + reg JTAG_SEL4_GLBL = 0; + + reg JTAG_USER_TDO1_GLBL = 1'bz; + reg JTAG_USER_TDO2_GLBL = 1'bz; + reg JTAG_USER_TDO3_GLBL = 1'bz; + reg JTAG_USER_TDO4_GLBL = 1'bz; + + assign (strong1, weak0) GSR = GSR_int; + assign (strong1, weak0) GTS = GTS_int; + assign (weak1, weak0) PRLD = PRLD_int; + assign (strong1, weak0) GRESTORE = GRESTORE_int; + + initial begin + GSR_int = 1'b1; + PRLD_int = 1'b1; + #(ROC_WIDTH) + GSR_int = 1'b0; + PRLD_int = 1'b0; + end + + initial begin + GTS_int = 1'b1; + #(TOC_WIDTH) + GTS_int = 1'b0; + end + + initial begin + GRESTORE_int = 1'b0; + #(GRES_START); + GRESTORE_int = 1'b1; + #(GRES_WIDTH); + GRESTORE_int = 1'b0; + end + +endmodule +`endif diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge_func_synth.wdb b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_edge_func_synth.wdb new file mode 100644 index 0000000000000000000000000000000000000000..0b92c6f9d09a706e0d139bfe2b7301166dc4ee0b GIT binary patch literal 73110 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

xybl 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%0Af>(Ha^5PKx7)^GM6rhSMDYKPB5 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 0} { + add_wave / + set_property needs_save false [current_wave_config] + } else { + send_msg_id Add_Wave-1 WARNING "No top level signals found. Simulator will start without a wave window. If you want to open a wave window go to 'File->New Waveform Configuration' or type 'create_wave_config' in the TCL console." + } +} + +run 1000ns diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_timing_func_synth.v b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_timing_func_synth.v new file mode 100644 index 0000000..876045e --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_timing_func_synth.v @@ -0,0 +1,3225 @@ +// Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +// Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +// -------------------------------------------------------------------------------- +// Tool Version: Vivado v.2025.2 (lin64) Build 6299465 Fri Nov 14 12:34:56 MST 2025 +// Date : Fri Jun 12 14:53:04 2026 +// Host : cachyos-x8664 running 64-bit CachyOS +// Command : write_verilog -mode funcsim -nolib -force -file +// /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_timing_func_synth.v +// Design : project_reti_logiche +// Purpose : This verilog netlist is a functional simulation representation of the design and should not be modified +// or synthesized. This netlist cannot be used for SDF annotated simulation. +// Device : xc7a200tfbg484-1 +// -------------------------------------------------------------------------------- +`timescale 1 ps / 1 ps + +(* NotValidForBitStream *) +module project_reti_logiche + (i_clk, + i_rst, + i_start, + i_task_id, + i_task_priority, + i_op, + o_done, + o_task_id, + o_mem_addr, + i_mem_data, + o_mem_data, + o_mem_we, + o_mem_en); + input i_clk; + input i_rst; + input i_start; + input [5:0]i_task_id; + input [1:0]i_task_priority; + input [1:0]i_op; + output o_done; + output [5:0]o_task_id; + output [15:0]o_mem_addr; + input [7:0]i_mem_data; + output [7:0]o_mem_data; + output o_mem_we; + output o_mem_en; + + wire \FSM_onehot_state[10]_i_1_n_0 ; + wire \FSM_onehot_state[11]_i_1_n_0 ; + wire \FSM_onehot_state[12]_i_10_n_0 ; + wire \FSM_onehot_state[12]_i_11_n_0 ; + wire \FSM_onehot_state[12]_i_1_n_0 ; + wire \FSM_onehot_state[12]_i_4_n_0 ; + wire \FSM_onehot_state[12]_i_5_n_0 ; + wire \FSM_onehot_state[12]_i_6_n_0 ; + wire \FSM_onehot_state[12]_i_7_n_0 ; + wire \FSM_onehot_state[12]_i_8_n_0 ; + wire \FSM_onehot_state[12]_i_9_n_0 ; + wire \FSM_onehot_state[14]_i_1_n_0 ; + wire \FSM_onehot_state[15]_i_1_n_0 ; + wire \FSM_onehot_state[15]_i_2_n_0 ; + wire \FSM_onehot_state[15]_i_3_n_0 ; + wire \FSM_onehot_state[17]_i_1_n_0 ; + wire \FSM_onehot_state[17]_i_2_n_0 ; + wire \FSM_onehot_state[17]_i_3_n_0 ; + wire \FSM_onehot_state[17]_i_4_n_0 ; + wire \FSM_onehot_state[17]_i_5_n_0 ; + wire \FSM_onehot_state[19]_i_1_n_0 ; + wire \FSM_onehot_state[19]_i_2_n_0 ; + wire \FSM_onehot_state[1]_i_1_n_0 ; + wire \FSM_onehot_state[1]_i_2_n_0 ; + wire \FSM_onehot_state[1]_i_3_n_0 ; + wire \FSM_onehot_state[1]_i_4_n_0 ; + wire \FSM_onehot_state[1]_i_5_n_0 ; + wire \FSM_onehot_state[21]_i_1_n_0 ; + wire \FSM_onehot_state[21]_i_2_n_0 ; + wire \FSM_onehot_state[21]_i_3_n_0 ; + wire \FSM_onehot_state[21]_i_4_n_0 ; + wire \FSM_onehot_state[21]_i_5_n_0 ; + wire \FSM_onehot_state[21]_i_6_n_0 ; + wire \FSM_onehot_state[21]_i_7_n_0 ; + wire \FSM_onehot_state[22]_i_1_n_0 ; + wire \FSM_onehot_state[23]_i_1_n_0 ; + wire \FSM_onehot_state[23]_i_2_n_0 ; + wire \FSM_onehot_state[23]_i_3_n_0 ; + wire \FSM_onehot_state[23]_i_4_n_0 ; + wire \FSM_onehot_state[23]_i_5_n_0 ; + wire \FSM_onehot_state[23]_i_6_n_0 ; + wire \FSM_onehot_state[3]_i_1_n_0 ; + wire \FSM_onehot_state[4]_i_1_n_0 ; + wire \FSM_onehot_state[6]_i_1_n_0 ; + wire \FSM_onehot_state[7]_i_1_n_0 ; + wire \FSM_onehot_state[8]_i_1_n_0 ; + wire \FSM_onehot_state[8]_i_2_n_0 ; + wire \FSM_onehot_state_reg[12]_i_2_n_2 ; + wire \FSM_onehot_state_reg[12]_i_2_n_3 ; + wire \FSM_onehot_state_reg[12]_i_3_n_0 ; + wire \FSM_onehot_state_reg[12]_i_3_n_1 ; + wire \FSM_onehot_state_reg[12]_i_3_n_2 ; + wire \FSM_onehot_state_reg[12]_i_3_n_3 ; + wire \FSM_onehot_state_reg_n_0_[0] ; + wire \FSM_onehot_state_reg_n_0_[10] ; + wire \FSM_onehot_state_reg_n_0_[11] ; + wire \FSM_onehot_state_reg_n_0_[12] ; + wire \FSM_onehot_state_reg_n_0_[13] ; + wire \FSM_onehot_state_reg_n_0_[14] ; + wire \FSM_onehot_state_reg_n_0_[15] ; + wire \FSM_onehot_state_reg_n_0_[16] ; + wire \FSM_onehot_state_reg_n_0_[17] ; + wire \FSM_onehot_state_reg_n_0_[18] ; + wire \FSM_onehot_state_reg_n_0_[19] ; + wire \FSM_onehot_state_reg_n_0_[1] ; + wire \FSM_onehot_state_reg_n_0_[20] ; + wire \FSM_onehot_state_reg_n_0_[21] ; + wire \FSM_onehot_state_reg_n_0_[22] ; + wire \FSM_onehot_state_reg_n_0_[23] ; + wire \FSM_onehot_state_reg_n_0_[2] ; + wire \FSM_onehot_state_reg_n_0_[3] ; + wire \FSM_onehot_state_reg_n_0_[4] ; + wire \FSM_onehot_state_reg_n_0_[5] ; + wire \FSM_onehot_state_reg_n_0_[6] ; + wire \FSM_onehot_state_reg_n_0_[7] ; + wire \FSM_onehot_state_reg_n_0_[8] ; + wire \FSM_onehot_state_reg_n_0_[9] ; + wire ctrl_done; + wire ctrl_mem_en; + wire ctrl_mem_we; + wire \current_mem_addr[0]_i_10_n_0 ; + wire \current_mem_addr[0]_i_11_n_0 ; + wire \current_mem_addr[0]_i_1_n_0 ; + wire \current_mem_addr[0]_i_2_n_0 ; + wire \current_mem_addr[0]_i_3_n_0 ; + wire \current_mem_addr[0]_i_4_n_0 ; + wire \current_mem_addr[0]_i_5_n_0 ; + wire \current_mem_addr[0]_i_6_n_0 ; + wire \current_mem_addr[0]_i_7_n_0 ; + wire \current_mem_addr[0]_i_8_n_0 ; + wire \current_mem_addr[0]_i_9_n_0 ; + wire \current_mem_addr[10]_i_1_n_0 ; + wire \current_mem_addr[10]_i_2_n_0 ; + wire \current_mem_addr[10]_i_3_n_0 ; + wire \current_mem_addr[10]_i_4_n_0 ; + wire \current_mem_addr[11]_i_10_n_0 ; + wire \current_mem_addr[11]_i_1_n_0 ; + wire \current_mem_addr[11]_i_2_n_0 ; + wire \current_mem_addr[11]_i_3_n_0 ; + wire \current_mem_addr[11]_i_4_n_0 ; + wire \current_mem_addr[11]_i_7_n_0 ; + wire \current_mem_addr[11]_i_8_n_0 ; + wire \current_mem_addr[11]_i_9_n_0 ; + wire \current_mem_addr[12]_i_1_n_0 ; + wire \current_mem_addr[12]_i_2_n_0 ; + wire \current_mem_addr[12]_i_3_n_0 ; + wire \current_mem_addr[12]_i_4_n_0 ; + wire \current_mem_addr[13]_i_1_n_0 ; + wire \current_mem_addr[13]_i_2_n_0 ; + wire \current_mem_addr[13]_i_3_n_0 ; + wire \current_mem_addr[13]_i_4_n_0 ; + wire \current_mem_addr[14]_i_1_n_0 ; + wire \current_mem_addr[14]_i_2_n_0 ; + wire \current_mem_addr[14]_i_3_n_0 ; + wire \current_mem_addr[14]_i_4_n_0 ; + wire \current_mem_addr[14]_i_5_n_0 ; + wire \current_mem_addr[14]_i_6_n_0 ; + wire \current_mem_addr[14]_i_7_n_0 ; + wire \current_mem_addr[14]_i_8_n_0 ; + wire \current_mem_addr[15]_i_13_n_0 ; + wire \current_mem_addr[15]_i_14_n_0 ; + wire \current_mem_addr[15]_i_15_n_0 ; + wire \current_mem_addr[15]_i_16_n_0 ; + wire \current_mem_addr[15]_i_17_n_0 ; + wire \current_mem_addr[15]_i_18_n_0 ; + wire \current_mem_addr[15]_i_19_n_0 ; + wire \current_mem_addr[15]_i_1_n_0 ; + wire \current_mem_addr[15]_i_20_n_0 ; + wire \current_mem_addr[15]_i_21_n_0 ; + wire \current_mem_addr[15]_i_22_n_0 ; + wire \current_mem_addr[15]_i_23_n_0 ; + wire \current_mem_addr[15]_i_24_n_0 ; + wire \current_mem_addr[15]_i_2_n_0 ; + wire \current_mem_addr[15]_i_3_n_0 ; + wire \current_mem_addr[15]_i_4_n_0 ; + wire \current_mem_addr[15]_i_5_n_0 ; + wire \current_mem_addr[15]_i_7_n_0 ; + wire \current_mem_addr[15]_i_8_n_0 ; + wire \current_mem_addr[1]_i_1_n_0 ; + wire \current_mem_addr[1]_i_2_n_0 ; + wire \current_mem_addr[1]_i_3_n_0 ; + wire \current_mem_addr[1]_i_4_n_0 ; + wire \current_mem_addr[1]_i_5_n_0 ; + wire \current_mem_addr[1]_i_6_n_0 ; + wire \current_mem_addr[1]_i_7_n_0 ; + wire \current_mem_addr[2]_i_1_n_0 ; + wire \current_mem_addr[2]_i_2_n_0 ; + wire \current_mem_addr[2]_i_3_n_0 ; + wire \current_mem_addr[2]_i_4_n_0 ; + wire \current_mem_addr[3]_i_10_n_0 ; + wire \current_mem_addr[3]_i_11_n_0 ; + wire \current_mem_addr[3]_i_12_n_0 ; + wire \current_mem_addr[3]_i_1_n_0 ; + wire \current_mem_addr[3]_i_2_n_0 ; + wire \current_mem_addr[3]_i_3_n_0 ; + wire \current_mem_addr[3]_i_4_n_0 ; + wire \current_mem_addr[3]_i_5_n_0 ; + wire \current_mem_addr[3]_i_6_n_0 ; + wire \current_mem_addr[3]_i_9_n_0 ; + wire \current_mem_addr[4]_i_10_n_0 ; + wire \current_mem_addr[4]_i_11_n_0 ; + wire \current_mem_addr[4]_i_12_n_0 ; + wire \current_mem_addr[4]_i_13_n_0 ; + wire \current_mem_addr[4]_i_1_n_0 ; + wire \current_mem_addr[4]_i_2_n_0 ; + wire \current_mem_addr[4]_i_3_n_0 ; + wire \current_mem_addr[4]_i_4_n_0 ; + wire \current_mem_addr[4]_i_5_n_0 ; + wire \current_mem_addr[4]_i_6_n_0 ; + wire \current_mem_addr[4]_i_7_n_0 ; + wire \current_mem_addr[5]_i_1_n_0 ; + wire \current_mem_addr[5]_i_2_n_0 ; + wire \current_mem_addr[5]_i_3_n_0 ; + wire \current_mem_addr[5]_i_4_n_0 ; + wire \current_mem_addr[5]_i_5_n_0 ; + wire \current_mem_addr[6]_i_1_n_0 ; + wire \current_mem_addr[6]_i_2_n_0 ; + wire \current_mem_addr[6]_i_3_n_0 ; + wire \current_mem_addr[6]_i_4_n_0 ; + wire \current_mem_addr[6]_i_5_n_0 ; + wire \current_mem_addr[7]_i_10_n_0 ; + wire \current_mem_addr[7]_i_11_n_0 ; + wire \current_mem_addr[7]_i_1_n_0 ; + wire \current_mem_addr[7]_i_2_n_0 ; + wire \current_mem_addr[7]_i_3_n_0 ; + wire \current_mem_addr[7]_i_4_n_0 ; + wire \current_mem_addr[7]_i_5_n_0 ; + wire \current_mem_addr[7]_i_8_n_0 ; + wire \current_mem_addr[7]_i_9_n_0 ; + wire \current_mem_addr[8]_i_10_n_0 ; + wire \current_mem_addr[8]_i_1_n_0 ; + wire \current_mem_addr[8]_i_2_n_0 ; + wire \current_mem_addr[8]_i_3_n_0 ; + wire \current_mem_addr[8]_i_4_n_0 ; + wire \current_mem_addr[8]_i_7_n_0 ; + wire \current_mem_addr[8]_i_8_n_0 ; + wire \current_mem_addr[8]_i_9_n_0 ; + wire \current_mem_addr[9]_i_1_n_0 ; + wire \current_mem_addr[9]_i_2_n_0 ; + wire \current_mem_addr[9]_i_3_n_0 ; + wire \current_mem_addr[9]_i_4_n_0 ; + wire \current_mem_addr_reg[11]_i_5_n_0 ; + wire \current_mem_addr_reg[11]_i_5_n_1 ; + wire \current_mem_addr_reg[11]_i_5_n_2 ; + wire \current_mem_addr_reg[11]_i_5_n_3 ; + wire \current_mem_addr_reg[11]_i_6_n_0 ; + wire \current_mem_addr_reg[11]_i_6_n_1 ; + wire \current_mem_addr_reg[11]_i_6_n_2 ; + wire \current_mem_addr_reg[11]_i_6_n_3 ; + wire \current_mem_addr_reg[12]_i_5_n_0 ; + wire \current_mem_addr_reg[12]_i_5_n_1 ; + wire \current_mem_addr_reg[12]_i_5_n_2 ; + wire \current_mem_addr_reg[12]_i_5_n_3 ; + wire \current_mem_addr_reg[15]_i_10_n_1 ; + wire \current_mem_addr_reg[15]_i_10_n_2 ; + wire \current_mem_addr_reg[15]_i_10_n_3 ; + wire \current_mem_addr_reg[15]_i_11_n_1 ; + wire \current_mem_addr_reg[15]_i_11_n_2 ; + wire \current_mem_addr_reg[15]_i_11_n_3 ; + wire \current_mem_addr_reg[15]_i_12_n_0 ; + wire \current_mem_addr_reg[15]_i_12_n_1 ; + wire \current_mem_addr_reg[15]_i_12_n_2 ; + wire \current_mem_addr_reg[15]_i_12_n_3 ; + wire \current_mem_addr_reg[15]_i_6_n_2 ; + wire \current_mem_addr_reg[15]_i_6_n_3 ; + wire \current_mem_addr_reg[15]_i_9_n_2 ; + wire \current_mem_addr_reg[15]_i_9_n_3 ; + wire \current_mem_addr_reg[3]_i_7_n_0 ; + wire \current_mem_addr_reg[3]_i_7_n_1 ; + wire \current_mem_addr_reg[3]_i_7_n_2 ; + wire \current_mem_addr_reg[3]_i_7_n_3 ; + wire \current_mem_addr_reg[3]_i_8_n_0 ; + wire \current_mem_addr_reg[3]_i_8_n_1 ; + wire \current_mem_addr_reg[3]_i_8_n_2 ; + wire \current_mem_addr_reg[3]_i_8_n_3 ; + wire \current_mem_addr_reg[4]_i_8_n_0 ; + wire \current_mem_addr_reg[4]_i_8_n_1 ; + wire \current_mem_addr_reg[4]_i_8_n_2 ; + wire \current_mem_addr_reg[4]_i_8_n_3 ; + wire \current_mem_addr_reg[4]_i_9_n_0 ; + wire \current_mem_addr_reg[4]_i_9_n_1 ; + wire \current_mem_addr_reg[4]_i_9_n_2 ; + wire \current_mem_addr_reg[4]_i_9_n_3 ; + wire \current_mem_addr_reg[7]_i_6_n_0 ; + wire \current_mem_addr_reg[7]_i_6_n_1 ; + wire \current_mem_addr_reg[7]_i_6_n_2 ; + wire \current_mem_addr_reg[7]_i_6_n_3 ; + wire \current_mem_addr_reg[7]_i_7_n_0 ; + wire \current_mem_addr_reg[7]_i_7_n_1 ; + wire \current_mem_addr_reg[7]_i_7_n_2 ; + wire \current_mem_addr_reg[7]_i_7_n_3 ; + wire \current_mem_addr_reg[8]_i_5_n_0 ; + wire \current_mem_addr_reg[8]_i_5_n_1 ; + wire \current_mem_addr_reg[8]_i_5_n_2 ; + wire \current_mem_addr_reg[8]_i_5_n_3 ; + wire \current_mem_addr_reg[8]_i_6_n_0 ; + wire \current_mem_addr_reg[8]_i_6_n_1 ; + wire \current_mem_addr_reg[8]_i_6_n_2 ; + wire \current_mem_addr_reg[8]_i_6_n_3 ; + wire [5:0]current_popped_id; + wire \current_popped_id[5]_i_1_n_0 ; + wire \current_popped_id[5]_i_2_n_0 ; + wire [7:0]current_task_count; + wire \current_task_count[0]_i_1_n_0 ; + wire \current_task_count[1]_i_1_n_0 ; + wire \current_task_count[2]_i_1_n_0 ; + wire \current_task_count[3]_i_1_n_0 ; + wire \current_task_count[4]_i_1_n_0 ; + wire \current_task_count[4]_i_2_n_0 ; + wire \current_task_count[5]_i_1_n_0 ; + wire \current_task_count[5]_i_2_n_0 ; + wire \current_task_count[5]_i_3_n_0 ; + wire \current_task_count[6]_i_1_n_0 ; + wire \current_task_count[7]_i_1_n_0 ; + wire \current_task_count[7]_i_2_n_0 ; + wire \current_task_count[7]_i_3_n_0 ; + wire \current_task_count[7]_i_4_n_0 ; + wire i_clk; + wire i_clk_IBUF; + wire i_clk_IBUF_BUFG; + wire [7:0]i_mem_data; + wire [7:0]i_mem_data_IBUF; + wire [1:0]i_op; + wire [1:0]i_op_IBUF; + wire i_rst; + wire i_rst_IBUF; + wire i_start; + wire i_start_IBUF; + wire [5:0]i_task_id; + wire [5:0]i_task_id_IBUF; + wire [1:0]i_task_priority; + wire [1:0]i_task_priority_IBUF; + wire [15:1]in23; + wire [15:1]in26; + wire [15:1]in27; + wire [15:0]in30; + wire o_done; + wire o_done_OBUF; + wire [15:0]o_mem_addr; + wire [15:0]o_mem_addr_OBUF; + wire [7:0]o_mem_data; + wire \o_mem_data[0]_i_1_n_0 ; + wire \o_mem_data[0]_i_2_n_0 ; + wire \o_mem_data[1]_i_1_n_0 ; + wire \o_mem_data[1]_i_2_n_0 ; + wire \o_mem_data[1]_i_3_n_0 ; + wire \o_mem_data[1]_i_4_n_0 ; + wire \o_mem_data[2]_i_1_n_0 ; + wire \o_mem_data[2]_i_2_n_0 ; + wire \o_mem_data[3]_i_1_n_0 ; + wire \o_mem_data[3]_i_2_n_0 ; + wire \o_mem_data[3]_i_3_n_0 ; + wire \o_mem_data[4]_i_1_n_0 ; + wire \o_mem_data[4]_i_2_n_0 ; + wire \o_mem_data[5]_i_1_n_0 ; + wire \o_mem_data[5]_i_2_n_0 ; + wire \o_mem_data[5]_i_3_n_0 ; + wire \o_mem_data[6]_i_1_n_0 ; + wire \o_mem_data[6]_i_2_n_0 ; + wire \o_mem_data[6]_i_3_n_0 ; + wire \o_mem_data[6]_i_4_n_0 ; + wire \o_mem_data[6]_i_5_n_0 ; + wire \o_mem_data[7]_i_1_n_0 ; + wire \o_mem_data[7]_i_2_n_0 ; + wire \o_mem_data[7]_i_3_n_0 ; + wire \o_mem_data[7]_i_4_n_0 ; + wire \o_mem_data[7]_i_5_n_0 ; + wire [7:0]o_mem_data_OBUF; + wire o_mem_en; + wire o_mem_en_OBUF; + wire o_mem_en_i_2_n_0; + wire o_mem_en_i_3_n_0; + wire o_mem_en_i_4_n_0; + wire o_mem_we; + wire o_mem_we_OBUF; + wire o_mem_we_i_2_n_0; + wire o_mem_we_i_3_n_0; + wire [5:0]o_task_id; + wire \o_task_id[5]_i_1_n_0 ; + wire [5:0]o_task_id_OBUF; + wire [3:2]\NLW_FSM_onehot_state_reg[12]_i_2_CO_UNCONNECTED ; + wire [3:0]\NLW_FSM_onehot_state_reg[12]_i_2_O_UNCONNECTED ; + wire [3:0]\NLW_FSM_onehot_state_reg[12]_i_3_O_UNCONNECTED ; + wire [3:3]\NLW_current_mem_addr_reg[15]_i_10_CO_UNCONNECTED ; + wire [3:3]\NLW_current_mem_addr_reg[15]_i_11_CO_UNCONNECTED ; + wire [3:2]\NLW_current_mem_addr_reg[15]_i_6_CO_UNCONNECTED ; + wire [3:3]\NLW_current_mem_addr_reg[15]_i_6_O_UNCONNECTED ; + wire [3:2]\NLW_current_mem_addr_reg[15]_i_9_CO_UNCONNECTED ; + wire [3:3]\NLW_current_mem_addr_reg[15]_i_9_O_UNCONNECTED ; + wire [0:0]\NLW_current_mem_addr_reg[3]_i_8_O_UNCONNECTED ; + + (* SOFT_HLUTNM = "soft_lutpair25" *) + LUT2 #( + .INIT(4'hE)) + \FSM_onehot_state[10]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[9] ), + .I1(\FSM_onehot_state_reg_n_0_[13] ), + .O(\FSM_onehot_state[10]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair0" *) + LUT2 #( + .INIT(4'h8)) + \FSM_onehot_state[11]_i_1 + (.I0(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I1(\FSM_onehot_state_reg_n_0_[10] ), + .O(\FSM_onehot_state[11]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair1" *) + LUT2 #( + .INIT(4'h2)) + \FSM_onehot_state[12]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[10] ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\FSM_onehot_state[12]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair5" *) + LUT4 #( + .INIT(16'h9555)) + \FSM_onehot_state[12]_i_10 + (.I0(current_task_count[3]), + .I1(current_task_count[2]), + .I2(current_task_count[0]), + .I3(current_task_count[1]), + .O(\FSM_onehot_state[12]_i_10_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair5" *) + LUT5 #( + .INIT(32'h95555555)) + \FSM_onehot_state[12]_i_11 + (.I0(current_task_count[4]), + .I1(current_task_count[3]), + .I2(current_task_count[1]), + .I3(current_task_count[0]), + .I4(current_task_count[2]), + .O(\FSM_onehot_state[12]_i_11_n_0 )); + LUT1 #( + .INIT(2'h1)) + \FSM_onehot_state[12]_i_4 + (.I0(o_mem_addr_OBUF[15]), + .O(\FSM_onehot_state[12]_i_4_n_0 )); + LUT3 #( + .INIT(8'h01)) + \FSM_onehot_state[12]_i_5 + (.I0(o_mem_addr_OBUF[13]), + .I1(o_mem_addr_OBUF[12]), + .I2(o_mem_addr_OBUF[14]), + .O(\FSM_onehot_state[12]_i_5_n_0 )); + LUT3 #( + .INIT(8'h01)) + \FSM_onehot_state[12]_i_6 + (.I0(o_mem_addr_OBUF[9]), + .I1(o_mem_addr_OBUF[10]), + .I2(o_mem_addr_OBUF[11]), + .O(\FSM_onehot_state[12]_i_6_n_0 )); + LUT6 #( + .INIT(64'h2100002100214200)) + \FSM_onehot_state[12]_i_7 + (.I0(o_mem_addr_OBUF[7]), + .I1(o_mem_addr_OBUF[8]), + .I2(current_task_count[7]), + .I3(current_task_count[6]), + .I4(\current_task_count[7]_i_3_n_0 ), + .I5(o_mem_addr_OBUF[6]), + .O(\FSM_onehot_state[12]_i_7_n_0 )); + LUT6 #( + .INIT(64'h0000066006600000)) + \FSM_onehot_state[12]_i_8 + (.I0(\FSM_onehot_state[12]_i_10_n_0 ), + .I1(o_mem_addr_OBUF[3]), + .I2(o_mem_addr_OBUF[5]), + .I3(\current_task_count[5]_i_2_n_0 ), + .I4(o_mem_addr_OBUF[4]), + .I5(\FSM_onehot_state[12]_i_11_n_0 ), + .O(\FSM_onehot_state[12]_i_8_n_0 )); + LUT6 #( + .INIT(64'h0000900906900000)) + \FSM_onehot_state[12]_i_9 + (.I0(current_task_count[2]), + .I1(o_mem_addr_OBUF[2]), + .I2(o_mem_addr_OBUF[1]), + .I3(current_task_count[1]), + .I4(current_task_count[0]), + .I5(o_mem_addr_OBUF[0]), + .O(\FSM_onehot_state[12]_i_9_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair33" *) + LUT3 #( + .INIT(8'h40)) + \FSM_onehot_state[14]_i_1 + (.I0(i_op_IBUF[0]), + .I1(i_op_IBUF[1]), + .I2(\FSM_onehot_state_reg_n_0_[2] ), + .O(\FSM_onehot_state[14]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair36" *) + LUT3 #( + .INIT(8'hF2)) + \FSM_onehot_state[15]_i_1 + (.I0(\FSM_onehot_state[17]_i_2_n_0 ), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[15]_i_2_n_0 ), + .O(\FSM_onehot_state[15]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair37" *) + LUT2 #( + .INIT(4'h8)) + \FSM_onehot_state[15]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[14] ), + .I1(\FSM_onehot_state[15]_i_3_n_0 ), + .O(\FSM_onehot_state[15]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \FSM_onehot_state[15]_i_3 + (.I0(i_task_id_IBUF[5]), + .I1(i_task_id_IBUF[2]), + .I2(i_task_id_IBUF[3]), + .I3(i_task_id_IBUF[4]), + .I4(i_task_id_IBUF[1]), + .I5(i_task_id_IBUF[0]), + .O(\FSM_onehot_state[15]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair36" *) + LUT3 #( + .INIT(8'hF1)) + \FSM_onehot_state[17]_i_1 + (.I0(\FSM_onehot_state[17]_i_2_n_0 ), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[21] ), + .O(\FSM_onehot_state[17]_i_1_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFEFFFFFFFF)) + \FSM_onehot_state[17]_i_2 + (.I0(o_mem_addr_OBUF[1]), + .I1(o_mem_addr_OBUF[3]), + .I2(o_mem_addr_OBUF[2]), + .I3(\FSM_onehot_state[21]_i_4_n_0 ), + .I4(\FSM_onehot_state[21]_i_5_n_0 ), + .I5(\FSM_onehot_state[21]_i_6_n_0 ), + .O(\FSM_onehot_state[17]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair34" *) + LUT3 #( + .INIT(8'h4F)) + \FSM_onehot_state[17]_i_3 + (.I0(\FSM_onehot_state[17]_i_4_n_0 ), + .I1(\FSM_onehot_state[17]_i_5_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[16] ), + .O(\FSM_onehot_state[17]_i_3_n_0 )); + LUT6 #( + .INIT(64'h6FF6FFFFFFFF6FF6)) + \FSM_onehot_state[17]_i_4 + (.I0(i_task_id_IBUF[0]), + .I1(i_mem_data_IBUF[2]), + .I2(i_mem_data_IBUF[3]), + .I3(i_task_id_IBUF[1]), + .I4(i_mem_data_IBUF[4]), + .I5(i_task_id_IBUF[2]), + .O(\FSM_onehot_state[17]_i_4_n_0 )); + LUT6 #( + .INIT(64'h9009000000009009)) + \FSM_onehot_state[17]_i_5 + (.I0(i_task_id_IBUF[4]), + .I1(i_mem_data_IBUF[6]), + .I2(i_task_id_IBUF[5]), + .I3(i_mem_data_IBUF[7]), + .I4(i_mem_data_IBUF[5]), + .I5(i_task_id_IBUF[3]), + .O(\FSM_onehot_state[17]_i_5_n_0 )); + LUT1 #( + .INIT(2'h1)) + \FSM_onehot_state[19]_i_1 + (.I0(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\FSM_onehot_state[19]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair11" *) + LUT2 #( + .INIT(4'hB)) + \FSM_onehot_state[19]_i_2 + (.I0(\FSM_onehot_state[21]_i_2_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[18] ), + .O(\FSM_onehot_state[19]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFEFEFE)) + \FSM_onehot_state[1]_i_1 + (.I0(\FSM_onehot_state[1]_i_2_n_0 ), + .I1(\FSM_onehot_state[1]_i_3_n_0 ), + .I2(\FSM_onehot_state[1]_i_4_n_0 ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I4(\FSM_onehot_state_reg_n_0_[5] ), + .I5(\FSM_onehot_state[1]_i_5_n_0 ), + .O(\FSM_onehot_state[1]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair34" *) + LUT3 #( + .INIT(8'h20)) + \FSM_onehot_state[1]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[16] ), + .I1(\FSM_onehot_state[17]_i_4_n_0 ), + .I2(\FSM_onehot_state[17]_i_5_n_0 ), + .O(\FSM_onehot_state[1]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair7" *) + LUT5 #( + .INIT(32'h00000002)) + \FSM_onehot_state[1]_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[7] ), + .I1(\FSM_onehot_state[8]_i_2_n_0 ), + .I2(current_task_count[2]), + .I3(current_task_count[1]), + .I4(current_task_count[0]), + .O(\FSM_onehot_state[1]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair37" *) + LUT2 #( + .INIT(4'h2)) + \FSM_onehot_state[1]_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[14] ), + .I1(\FSM_onehot_state[15]_i_3_n_0 ), + .O(\FSM_onehot_state[1]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair22" *) + LUT4 #( + .INIT(16'hFFFE)) + \FSM_onehot_state[1]_i_5 + (.I0(\FSM_onehot_state_reg_n_0_[23] ), + .I1(\FSM_onehot_state_reg_n_0_[20] ), + .I2(\FSM_onehot_state_reg_n_0_[11] ), + .I3(\FSM_onehot_state_reg_n_0_[0] ), + .O(\FSM_onehot_state[1]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair10" *) + LUT2 #( + .INIT(4'h8)) + \FSM_onehot_state[21]_i_1 + (.I0(\FSM_onehot_state[21]_i_2_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[18] ), + .O(\FSM_onehot_state[21]_i_1_n_0 )); + LUT6 #( + .INIT(64'h00000000FFFFFEFF)) + \FSM_onehot_state[21]_i_2 + (.I0(\FSM_onehot_state[21]_i_3_n_0 ), + .I1(\FSM_onehot_state[21]_i_4_n_0 ), + .I2(\FSM_onehot_state[21]_i_5_n_0 ), + .I3(\FSM_onehot_state[21]_i_6_n_0 ), + .I4(o_mem_addr_OBUF[0]), + .I5(\FSM_onehot_state[21]_i_7_n_0 ), + .O(\FSM_onehot_state[21]_i_2_n_0 )); + LUT3 #( + .INIT(8'hFE)) + \FSM_onehot_state[21]_i_3 + (.I0(o_mem_addr_OBUF[1]), + .I1(o_mem_addr_OBUF[3]), + .I2(o_mem_addr_OBUF[2]), + .O(\FSM_onehot_state[21]_i_3_n_0 )); + LUT4 #( + .INIT(16'hFFFE)) + \FSM_onehot_state[21]_i_4 + (.I0(o_mem_addr_OBUF[5]), + .I1(o_mem_addr_OBUF[4]), + .I2(o_mem_addr_OBUF[7]), + .I3(o_mem_addr_OBUF[6]), + .O(\FSM_onehot_state[21]_i_4_n_0 )); + LUT4 #( + .INIT(16'hFFFE)) + \FSM_onehot_state[21]_i_5 + (.I0(o_mem_addr_OBUF[12]), + .I1(o_mem_addr_OBUF[13]), + .I2(o_mem_addr_OBUF[15]), + .I3(o_mem_addr_OBUF[14]), + .O(\FSM_onehot_state[21]_i_5_n_0 )); + LUT4 #( + .INIT(16'h0001)) + \FSM_onehot_state[21]_i_6 + (.I0(o_mem_addr_OBUF[10]), + .I1(o_mem_addr_OBUF[11]), + .I2(o_mem_addr_OBUF[9]), + .I3(o_mem_addr_OBUF[8]), + .O(\FSM_onehot_state[21]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair19" *) + LUT4 #( + .INIT(16'hBF0B)) + \FSM_onehot_state[21]_i_7 + (.I0(i_task_priority_IBUF[0]), + .I1(i_mem_data_IBUF[0]), + .I2(i_mem_data_IBUF[1]), + .I3(i_task_priority_IBUF[1]), + .O(\FSM_onehot_state[21]_i_7_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair30" *) + LUT3 #( + .INIT(8'h80)) + \FSM_onehot_state[22]_i_1 + (.I0(i_op_IBUF[0]), + .I1(i_op_IBUF[1]), + .I2(\FSM_onehot_state_reg_n_0_[2] ), + .O(\FSM_onehot_state[22]_i_1_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFEFEFE)) + \FSM_onehot_state[23]_i_1 + (.I0(\FSM_onehot_state[23]_i_2_n_0 ), + .I1(\FSM_onehot_state[23]_i_3_n_0 ), + .I2(\FSM_onehot_state[23]_i_4_n_0 ), + .I3(i_start_IBUF), + .I4(\FSM_onehot_state_reg_n_0_[2] ), + .I5(\FSM_onehot_state[23]_i_5_n_0 ), + .O(\FSM_onehot_state[23]_i_1_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \FSM_onehot_state[23]_i_2 + (.I0(o_mem_en_i_2_n_0), + .I1(\FSM_onehot_state[23]_i_6_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[16] ), + .I3(\FSM_onehot_state_reg_n_0_[7] ), + .I4(\FSM_onehot_state_reg_n_0_[14] ), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(\FSM_onehot_state[23]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair23" *) + LUT4 #( + .INIT(16'hFFFE)) + \FSM_onehot_state[23]_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[6] ), + .I1(\FSM_onehot_state_reg_n_0_[5] ), + .I2(\FSM_onehot_state_reg_n_0_[11] ), + .I3(\FSM_onehot_state_reg_n_0_[8] ), + .O(\FSM_onehot_state[23]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair31" *) + LUT2 #( + .INIT(4'hE)) + \FSM_onehot_state[23]_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[15] ), + .I1(\FSM_onehot_state_reg_n_0_[17] ), + .O(\FSM_onehot_state[23]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \FSM_onehot_state[23]_i_5 + (.I0(\FSM_onehot_state_reg_n_0_[13] ), + .I1(\FSM_onehot_state_reg_n_0_[9] ), + .I2(\FSM_onehot_state_reg_n_0_[22] ), + .I3(\FSM_onehot_state_reg_n_0_[21] ), + .I4(\FSM_onehot_state_reg_n_0_[20] ), + .I5(\FSM_onehot_state_reg_n_0_[23] ), + .O(\FSM_onehot_state[23]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair24" *) + LUT4 #( + .INIT(16'hEFEE)) + \FSM_onehot_state[23]_i_6 + (.I0(\FSM_onehot_state_reg_n_0_[4] ), + .I1(\FSM_onehot_state_reg_n_0_[3] ), + .I2(i_start_IBUF), + .I3(\FSM_onehot_state_reg_n_0_[1] ), + .O(\FSM_onehot_state[23]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair33" *) + LUT3 #( + .INIT(8'h04)) + \FSM_onehot_state[3]_i_1 + (.I0(i_op_IBUF[0]), + .I1(\FSM_onehot_state_reg_n_0_[2] ), + .I2(i_op_IBUF[1]), + .O(\FSM_onehot_state[3]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair23" *) + LUT2 #( + .INIT(4'hE)) + \FSM_onehot_state[4]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[6] ), + .I1(\FSM_onehot_state_reg_n_0_[3] ), + .O(\FSM_onehot_state[4]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair21" *) + LUT2 #( + .INIT(4'h2)) + \FSM_onehot_state[6]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[5] ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\FSM_onehot_state[6]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair30" *) + LUT3 #( + .INIT(8'h08)) + \FSM_onehot_state[7]_i_1 + (.I0(i_op_IBUF[0]), + .I1(\FSM_onehot_state_reg_n_0_[2] ), + .I2(i_op_IBUF[1]), + .O(\FSM_onehot_state[7]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair7" *) + LUT5 #( + .INIT(32'hAAAAAAA8)) + \FSM_onehot_state[8]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[7] ), + .I1(\FSM_onehot_state[8]_i_2_n_0 ), + .I2(current_task_count[2]), + .I3(current_task_count[1]), + .I4(current_task_count[0]), + .O(\FSM_onehot_state[8]_i_1_n_0 )); + LUT5 #( + .INIT(32'hFFFFFFFE)) + \FSM_onehot_state[8]_i_2 + (.I0(current_task_count[7]), + .I1(current_task_count[6]), + .I2(current_task_count[3]), + .I3(current_task_count[4]), + .I4(current_task_count[5]), + .O(\FSM_onehot_state[8]_i_2_n_0 )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDPE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .D(1'b0), + .PRE(i_rst_IBUF), + .Q(\FSM_onehot_state_reg_n_0_[0] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[10] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[10]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[10] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[11] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[11]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[11] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[12] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[12]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[12] )); + CARRY4 \FSM_onehot_state_reg[12]_i_2 + (.CI(\FSM_onehot_state_reg[12]_i_3_n_0 ), + .CO({\NLW_FSM_onehot_state_reg[12]_i_2_CO_UNCONNECTED [3:2],\FSM_onehot_state_reg[12]_i_2_n_2 ,\FSM_onehot_state_reg[12]_i_2_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(\NLW_FSM_onehot_state_reg[12]_i_2_O_UNCONNECTED [3:0]), + .S({1'b0,1'b0,\FSM_onehot_state[12]_i_4_n_0 ,\FSM_onehot_state[12]_i_5_n_0 })); + CARRY4 \FSM_onehot_state_reg[12]_i_3 + (.CI(1'b0), + .CO({\FSM_onehot_state_reg[12]_i_3_n_0 ,\FSM_onehot_state_reg[12]_i_3_n_1 ,\FSM_onehot_state_reg[12]_i_3_n_2 ,\FSM_onehot_state_reg[12]_i_3_n_3 }), + .CYINIT(1'b1), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(\NLW_FSM_onehot_state_reg[12]_i_3_O_UNCONNECTED [3:0]), + .S({\FSM_onehot_state[12]_i_6_n_0 ,\FSM_onehot_state[12]_i_7_n_0 ,\FSM_onehot_state[12]_i_8_n_0 ,\FSM_onehot_state[12]_i_9_n_0 })); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[13] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[12] ), + .Q(\FSM_onehot_state_reg_n_0_[13] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[14] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[14]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[14] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[15] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[15]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[15] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[16] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[15] ), + .Q(\FSM_onehot_state_reg_n_0_[16] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[17] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[17]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[17] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[18] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[17] ), + .Q(\FSM_onehot_state_reg_n_0_[18] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[19] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[19]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[19] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[1]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[1] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[20] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[19] ), + .Q(\FSM_onehot_state_reg_n_0_[20] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[21] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[21]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[21] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[22] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[22]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[22] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[23] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[22] ), + .Q(\FSM_onehot_state_reg_n_0_[23] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b1)) + \FSM_onehot_state_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[1] ), + .Q(\FSM_onehot_state_reg_n_0_[2] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[3]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[3] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[4]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[4] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[4] ), + .Q(\FSM_onehot_state_reg_n_0_[5] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[6] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[6]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[6] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[7] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[7]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[7] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[8] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state[8]_i_1_n_0 ), + .Q(\FSM_onehot_state_reg_n_0_[8] )); + (* FSM_ENCODED_STATES = "s_10_place_at_start:000000000100000000000000,s_01_wait_for_count:000000000000100000000000,s_01_go_next:000000000010000000000000,s_10_go_next:001000000000000000000000,s_10_compare:000001000000000000000000,s_00_read:000000000000000000001000,s_done:000000000000000000000010,s_10_wait:000000100000000000000000,s_10_check_id:000000010000000000000000,s_reset:000000000000000000000001,s_11_wait_for_count:100000000000000000000000,s_11_update_count:010000000000000000000000,s_01_copy:000000000001000000000000,s_idle:000000000000000000000100,s_01_check_end:000000000000010000000000,s_01_check_number:000000000000000010000000,s_10_wait_for_count:000100000000000000000000,s_00_go_next:000000000000000001000000,s_01_write:000000000000001000000000,s_10_update_count:000010000000000000000000,s_01_wait:000000000000000100000000,s_00_check:000000000000000000100000,s_00_wait:000000000000000000010000,s_10_wait_for_check:000000001000000000000000" *) + FDCE #( + .INIT(1'b0)) + \FSM_onehot_state_reg[9] + (.C(i_clk_IBUF_BUFG), + .CE(\FSM_onehot_state[23]_i_1_n_0 ), + .CLR(i_rst_IBUF), + .D(\FSM_onehot_state_reg_n_0_[8] ), + .Q(\FSM_onehot_state_reg_n_0_[9] )); + LUT6 #( + .INIT(64'hFF54FF54FFFFFF54)) + \current_mem_addr[0]_i_1 + (.I0(\current_mem_addr[0]_i_2_n_0 ), + .I1(\current_mem_addr[0]_i_3_n_0 ), + .I2(\current_mem_addr[0]_i_4_n_0 ), + .I3(\current_mem_addr[0]_i_5_n_0 ), + .I4(current_task_count[0]), + .I5(\current_mem_addr[0]_i_6_n_0 ), + .O(\current_mem_addr[0]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair22" *) + LUT2 #( + .INIT(4'hE)) + \current_mem_addr[0]_i_10 + (.I0(\FSM_onehot_state_reg_n_0_[5] ), + .I1(\FSM_onehot_state_reg_n_0_[20] ), + .O(\current_mem_addr[0]_i_10_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair26" *) + LUT4 #( + .INIT(16'hFEEE)) + \current_mem_addr[0]_i_11 + (.I0(\FSM_onehot_state_reg_n_0_[1] ), + .I1(\FSM_onehot_state_reg_n_0_[2] ), + .I2(o_mem_addr_OBUF[0]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[0]_i_11_n_0 )); + LUT6 #( + .INIT(64'h0000000000000777)) + \current_mem_addr[0]_i_2 + (.I0(in30[0]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(o_mem_addr_OBUF[0]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .I4(\current_mem_addr[0]_i_7_n_0 ), + .I5(\current_mem_addr[3]_i_6_n_0 ), + .O(\current_mem_addr[0]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair21" *) + LUT4 #( + .INIT(16'h88A8)) + \current_mem_addr[0]_i_3 + (.I0(o_mem_addr_OBUF[0]), + .I1(\FSM_onehot_state[1]_i_2_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\current_mem_addr[0]_i_3_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFEEE)) + \current_mem_addr[0]_i_4 + (.I0(\current_mem_addr[0]_i_8_n_0 ), + .I1(\current_mem_addr[0]_i_9_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[21] ), + .I3(in30[0]), + .I4(\current_mem_addr[0]_i_10_n_0 ), + .I5(\current_mem_addr[0]_i_11_n_0 ), + .O(\current_mem_addr[0]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFAEAEFF00AEAE)) + \current_mem_addr[0]_i_5 + (.I0(\FSM_onehot_state[8]_i_1_n_0 ), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state[1]_i_4_n_0 ), + .I4(o_mem_addr_OBUF[0]), + .I5(\FSM_onehot_state_reg_n_0_[7] ), + .O(\current_mem_addr[0]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair18" *) + LUT3 #( + .INIT(8'h0E)) + \current_mem_addr[0]_i_6 + (.I0(\FSM_onehot_state[17]_i_3_n_0 ), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[15]_i_2_n_0 ), + .O(\current_mem_addr[0]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair32" *) + LUT3 #( + .INIT(8'hFE)) + \current_mem_addr[0]_i_7 + (.I0(\FSM_onehot_state_reg_n_0_[12] ), + .I1(\FSM_onehot_state_reg_n_0_[3] ), + .I2(o_mem_addr_OBUF[0]), + .O(\current_mem_addr[0]_i_7_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair9" *) + LUT5 #( + .INIT(32'h55555554)) + \current_mem_addr[0]_i_8 + (.I0(o_mem_addr_OBUF[0]), + .I1(\FSM_onehot_state_reg_n_0_[6] ), + .I2(\FSM_onehot_state_reg_n_0_[9] ), + .I3(\FSM_onehot_state_reg_n_0_[18] ), + .I4(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[0]_i_8_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \current_mem_addr[0]_i_9 + (.I0(\FSM_onehot_state[23]_i_4_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[23] ), + .I2(\FSM_onehot_state_reg_n_0_[8] ), + .I3(\FSM_onehot_state_reg_n_0_[11] ), + .I4(\FSM_onehot_state_reg_n_0_[3] ), + .I5(\FSM_onehot_state_reg_n_0_[4] ), + .O(\current_mem_addr[0]_i_9_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[10]_i_1 + (.I0(\current_mem_addr[10]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[10]), + .I3(\current_mem_addr[10]_i_3_n_0 ), + .I4(\current_mem_addr[10]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[10]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair14" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[10]_i_2 + (.I0(in26[10]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[10]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[10]_i_3 + (.I0(in30[10]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[10]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[10]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[10]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[10]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[10]), + .O(\current_mem_addr[10]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[11]_i_1 + (.I0(\current_mem_addr[11]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[11]), + .I3(\current_mem_addr[11]_i_3_n_0 ), + .I4(\current_mem_addr[11]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[11]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[11]_i_10 + (.I0(o_mem_addr_OBUF[8]), + .O(\current_mem_addr[11]_i_10_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair13" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[11]_i_2 + (.I0(in26[11]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[11]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[11]_i_3 + (.I0(in27[11]), + .I1(\FSM_onehot_state_reg_n_0_[13] ), + .I2(in30[11]), + .I3(\FSM_onehot_state_reg_n_0_[21] ), + .O(\current_mem_addr[11]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[11]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[11]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[11]), + .O(\current_mem_addr[11]_i_4_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[11]_i_7 + (.I0(o_mem_addr_OBUF[11]), + .O(\current_mem_addr[11]_i_7_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[11]_i_8 + (.I0(o_mem_addr_OBUF[10]), + .O(\current_mem_addr[11]_i_8_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[11]_i_9 + (.I0(o_mem_addr_OBUF[9]), + .O(\current_mem_addr[11]_i_9_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[12]_i_1 + (.I0(\current_mem_addr[12]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[12]), + .I3(\current_mem_addr[12]_i_3_n_0 ), + .I4(\current_mem_addr[12]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[12]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair13" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[12]_i_2 + (.I0(in26[12]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[12]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[12]_i_3 + (.I0(in30[12]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[12]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[12]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[12]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[12]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[12]), + .O(\current_mem_addr[12]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[13]_i_1 + (.I0(\current_mem_addr[13]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[13]), + .I3(\current_mem_addr[13]_i_3_n_0 ), + .I4(\current_mem_addr[13]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[13]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair12" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[13]_i_2 + (.I0(in26[13]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[13]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[13]_i_3 + (.I0(in30[13]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[13]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[13]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[13]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[13]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[13]), + .O(\current_mem_addr[13]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[14]_i_1 + (.I0(\current_mem_addr[14]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[14]), + .I3(\current_mem_addr[14]_i_4_n_0 ), + .I4(\current_mem_addr[14]_i_5_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[14]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair12" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[14]_i_2 + (.I0(in26[14]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[14]_i_2_n_0 )); + LUT6 #( + .INIT(64'h0000000000000001)) + \current_mem_addr[14]_i_3 + (.I0(\current_mem_addr[14]_i_7_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[11] ), + .I2(\FSM_onehot_state_reg_n_0_[4] ), + .I3(\FSM_onehot_state_reg_n_0_[20] ), + .I4(\FSM_onehot_state_reg_n_0_[5] ), + .I5(\current_mem_addr[14]_i_8_n_0 ), + .O(\current_mem_addr[14]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair27" *) + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[14]_i_4 + (.I0(in30[14]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[14]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[14]_i_4_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[14]_i_5 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[14]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[14]), + .O(\current_mem_addr[14]_i_5_n_0 )); + LUT5 #( + .INIT(32'h00000045)) + \current_mem_addr[14]_i_6 + (.I0(\FSM_onehot_state[1]_i_2_n_0 ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state[1]_i_4_n_0 ), + .I4(\FSM_onehot_state[1]_i_3_n_0 ), + .O(\current_mem_addr[14]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair26" *) + LUT3 #( + .INIT(8'hFE)) + \current_mem_addr[14]_i_7 + (.I0(\FSM_onehot_state_reg_n_0_[8] ), + .I1(\FSM_onehot_state_reg_n_0_[1] ), + .I2(\FSM_onehot_state_reg_n_0_[2] ), + .O(\current_mem_addr[14]_i_7_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair31" *) + LUT3 #( + .INIT(8'hFE)) + \current_mem_addr[14]_i_8 + (.I0(\FSM_onehot_state_reg_n_0_[23] ), + .I1(\FSM_onehot_state_reg_n_0_[17] ), + .I2(\FSM_onehot_state_reg_n_0_[15] ), + .O(\current_mem_addr[14]_i_8_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_1 + (.I0(i_rst_IBUF), + .O(\current_mem_addr[15]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_13 + (.I0(o_mem_addr_OBUF[15]), + .O(\current_mem_addr[15]_i_13_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_14 + (.I0(o_mem_addr_OBUF[14]), + .O(\current_mem_addr[15]_i_14_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_15 + (.I0(o_mem_addr_OBUF[13]), + .O(\current_mem_addr[15]_i_15_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \current_mem_addr[15]_i_16 + (.I0(\FSM_onehot_state_reg_n_0_[6] ), + .I1(\FSM_onehot_state_reg_n_0_[5] ), + .I2(\FSM_onehot_state_reg_n_0_[4] ), + .I3(\FSM_onehot_state_reg_n_0_[11] ), + .I4(\FSM_onehot_state_reg_n_0_[20] ), + .I5(\FSM_onehot_state_reg_n_0_[23] ), + .O(\current_mem_addr[15]_i_16_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_17 + (.I0(o_mem_addr_OBUF[15]), + .O(\current_mem_addr[15]_i_17_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_18 + (.I0(o_mem_addr_OBUF[14]), + .O(\current_mem_addr[15]_i_18_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_19 + (.I0(o_mem_addr_OBUF[13]), + .O(\current_mem_addr[15]_i_19_n_0 )); + LUT6 #( + .INIT(64'hFFF4FFF4FFFFFFF4)) + \current_mem_addr[15]_i_2 + (.I0(\current_mem_addr[15]_i_3_n_0 ), + .I1(o_mem_addr_OBUF[15]), + .I2(\current_mem_addr[15]_i_4_n_0 ), + .I3(\current_mem_addr[15]_i_5_n_0 ), + .I4(in26[15]), + .I5(\current_mem_addr[15]_i_7_n_0 ), + .O(\current_mem_addr[15]_i_2_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_20 + (.I0(o_mem_addr_OBUF[12]), + .O(\current_mem_addr[15]_i_20_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_21 + (.I0(o_mem_addr_OBUF[12]), + .O(\current_mem_addr[15]_i_21_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_22 + (.I0(o_mem_addr_OBUF[11]), + .O(\current_mem_addr[15]_i_22_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_23 + (.I0(o_mem_addr_OBUF[10]), + .O(\current_mem_addr[15]_i_23_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[15]_i_24 + (.I0(o_mem_addr_OBUF[9]), + .O(\current_mem_addr[15]_i_24_n_0 )); + LUT6 #( + .INIT(64'h0000000011010000)) + \current_mem_addr[15]_i_3 + (.I0(\FSM_onehot_state[1]_i_3_n_0 ), + .I1(\FSM_onehot_state[1]_i_4_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I4(\current_mem_addr[14]_i_3_n_0 ), + .I5(\FSM_onehot_state[1]_i_2_n_0 ), + .O(\current_mem_addr[15]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[15]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[15]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[15]), + .O(\current_mem_addr[15]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair25" *) + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[15]_i_5 + (.I0(in27[15]), + .I1(\FSM_onehot_state_reg_n_0_[13] ), + .I2(in30[15]), + .I3(\FSM_onehot_state_reg_n_0_[21] ), + .O(\current_mem_addr[15]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair32" *) + LUT3 #( + .INIT(8'h45)) + \current_mem_addr[15]_i_7 + (.I0(\FSM_onehot_state_reg_n_0_[12] ), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .O(\current_mem_addr[15]_i_7_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \current_mem_addr[15]_i_8 + (.I0(\current_mem_addr[15]_i_16_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[17] ), + .I2(\FSM_onehot_state_reg_n_0_[15] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[18] ), + .I5(\current_mem_addr[14]_i_7_n_0 ), + .O(\current_mem_addr[15]_i_8_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \current_mem_addr[1]_i_1 + (.I0(\current_mem_addr[1]_i_2_n_0 ), + .I1(\current_mem_addr[1]_i_3_n_0 ), + .I2(\current_mem_addr[1]_i_4_n_0 ), + .I3(\current_mem_addr[1]_i_5_n_0 ), + .I4(\current_mem_addr[1]_i_6_n_0 ), + .I5(\current_mem_addr[1]_i_7_n_0 ), + .O(\current_mem_addr[1]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair16" *) + LUT4 #( + .INIT(16'h888A)) + \current_mem_addr[1]_i_2 + (.I0(current_task_count[1]), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .O(\current_mem_addr[1]_i_2_n_0 )); + LUT6 #( + .INIT(64'hA8A8AAA8AAAAAAAA)) + \current_mem_addr[1]_i_3 + (.I0(o_mem_addr_OBUF[1]), + .I1(\FSM_onehot_state[1]_i_3_n_0 ), + .I2(\FSM_onehot_state[1]_i_4_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[10] ), + .I4(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I5(\current_mem_addr[14]_i_3_n_0 ), + .O(\current_mem_addr[1]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[1]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[1]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[1]), + .O(\current_mem_addr[1]_i_4_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[1]_i_5 + (.I0(in30[1]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[1]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[1]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair20" *) + LUT2 #( + .INIT(4'h8)) + \current_mem_addr[1]_i_6 + (.I0(o_mem_addr_OBUF[1]), + .I1(\FSM_onehot_state[1]_i_2_n_0 ), + .O(\current_mem_addr[1]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair15" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[1]_i_7 + (.I0(in26[1]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[1]_i_7_n_0 )); + LUT5 #( + .INIT(32'hFFFFEEFE)) + \current_mem_addr[2]_i_1 + (.I0(\current_mem_addr[2]_i_2_n_0 ), + .I1(\current_mem_addr[2]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[2]), + .I3(\current_mem_addr[15]_i_3_n_0 ), + .I4(\current_mem_addr[2]_i_4_n_0 ), + .O(\current_mem_addr[2]_i_1_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[2]_i_2 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[2]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[2]), + .O(\current_mem_addr[2]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[2]_i_3 + (.I0(in30[2]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[2]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[2]_i_3_n_0 )); + LUT6 #( + .INIT(64'hF8FFF8FC888888CC)) + \current_mem_addr[2]_i_4 + (.I0(\FSM_onehot_state[15]_i_2_n_0 ), + .I1(current_task_count[2]), + .I2(\FSM_onehot_state_reg_n_0_[12] ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .I4(\FSM_onehot_state[17]_i_2_n_0 ), + .I5(in26[2]), + .O(\current_mem_addr[2]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFF0FFB0)) + \current_mem_addr[3]_i_1 + (.I0(\FSM_onehot_state[1]_i_2_n_0 ), + .I1(\current_mem_addr[3]_i_2_n_0 ), + .I2(o_mem_addr_OBUF[3]), + .I3(\current_mem_addr[3]_i_3_n_0 ), + .I4(\current_mem_addr[3]_i_4_n_0 ), + .I5(\current_mem_addr[3]_i_5_n_0 ), + .O(\current_mem_addr[3]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[3]_i_10 + (.I0(o_mem_addr_OBUF[3]), + .O(\current_mem_addr[3]_i_10_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[3]_i_11 + (.I0(o_mem_addr_OBUF[2]), + .O(\current_mem_addr[3]_i_11_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[3]_i_12 + (.I0(o_mem_addr_OBUF[1]), + .O(\current_mem_addr[3]_i_12_n_0 )); + LUT5 #( + .INIT(32'h0000008A)) + \current_mem_addr[3]_i_2 + (.I0(\current_mem_addr[14]_i_3_n_0 ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state[1]_i_4_n_0 ), + .I4(\FSM_onehot_state[1]_i_3_n_0 ), + .O(\current_mem_addr[3]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFF888F888F888)) + \current_mem_addr[3]_i_3 + (.I0(\current_mem_addr[3]_i_6_n_0 ), + .I1(in23[3]), + .I2(\FSM_onehot_state_reg_n_0_[13] ), + .I3(in27[3]), + .I4(\FSM_onehot_state_reg_n_0_[21] ), + .I5(in30[3]), + .O(\current_mem_addr[3]_i_3_n_0 )); + LUT2 #( + .INIT(4'h8)) + \current_mem_addr[3]_i_4 + (.I0(in23[3]), + .I1(\current_mem_addr[15]_i_8_n_0 ), + .O(\current_mem_addr[3]_i_4_n_0 )); + LUT6 #( + .INIT(64'hF8FFF8FC888888CC)) + \current_mem_addr[3]_i_5 + (.I0(\FSM_onehot_state[15]_i_2_n_0 ), + .I1(current_task_count[3]), + .I2(\FSM_onehot_state_reg_n_0_[12] ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .I4(\FSM_onehot_state[17]_i_2_n_0 ), + .I5(in26[3]), + .O(\current_mem_addr[3]_i_5_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair9" *) + LUT3 #( + .INIT(8'hFE)) + \current_mem_addr[3]_i_6 + (.I0(\FSM_onehot_state_reg_n_0_[6] ), + .I1(\FSM_onehot_state_reg_n_0_[9] ), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .O(\current_mem_addr[3]_i_6_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[3]_i_9 + (.I0(o_mem_addr_OBUF[1]), + .O(\current_mem_addr[3]_i_9_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFFE)) + \current_mem_addr[4]_i_1 + (.I0(\current_mem_addr[4]_i_2_n_0 ), + .I1(\current_mem_addr[4]_i_3_n_0 ), + .I2(\current_mem_addr[4]_i_4_n_0 ), + .I3(\current_mem_addr[4]_i_5_n_0 ), + .I4(\current_mem_addr[4]_i_6_n_0 ), + .I5(\current_mem_addr[4]_i_7_n_0 ), + .O(\current_mem_addr[4]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[4]_i_10 + (.I0(o_mem_addr_OBUF[4]), + .O(\current_mem_addr[4]_i_10_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[4]_i_11 + (.I0(o_mem_addr_OBUF[3]), + .O(\current_mem_addr[4]_i_11_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[4]_i_12 + (.I0(o_mem_addr_OBUF[2]), + .O(\current_mem_addr[4]_i_12_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[4]_i_13 + (.I0(o_mem_addr_OBUF[1]), + .O(\current_mem_addr[4]_i_13_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair16" *) + LUT4 #( + .INIT(16'h888A)) + \current_mem_addr[4]_i_2 + (.I0(current_task_count[4]), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .O(\current_mem_addr[4]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair28" *) + LUT3 #( + .INIT(8'h20)) + \current_mem_addr[4]_i_3 + (.I0(in26[4]), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .O(\current_mem_addr[4]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[4]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[4]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[4]), + .O(\current_mem_addr[4]_i_4_n_0 )); + LUT6 #( + .INIT(64'hFFFFF888F888F888)) + \current_mem_addr[4]_i_5 + (.I0(in30[4]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(\FSM_onehot_state_reg_n_0_[12] ), + .I3(in26[4]), + .I4(\FSM_onehot_state_reg_n_0_[13] ), + .I5(in27[4]), + .O(\current_mem_addr[4]_i_5_n_0 )); + LUT4 #( + .INIT(16'h88A8)) + \current_mem_addr[4]_i_6 + (.I0(o_mem_addr_OBUF[4]), + .I1(\FSM_onehot_state[1]_i_4_n_0 ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\current_mem_addr[4]_i_6_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair20" *) + LUT4 #( + .INIT(16'hAA8A)) + \current_mem_addr[4]_i_7 + (.I0(o_mem_addr_OBUF[4]), + .I1(\FSM_onehot_state[1]_i_3_n_0 ), + .I2(\current_mem_addr[14]_i_3_n_0 ), + .I3(\FSM_onehot_state[1]_i_2_n_0 ), + .O(\current_mem_addr[4]_i_7_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFF4)) + \current_mem_addr[5]_i_1 + (.I0(\current_mem_addr[15]_i_3_n_0 ), + .I1(o_mem_addr_OBUF[5]), + .I2(\current_mem_addr[5]_i_2_n_0 ), + .I3(\current_mem_addr[5]_i_3_n_0 ), + .I4(\current_mem_addr[5]_i_4_n_0 ), + .I5(\current_mem_addr[5]_i_5_n_0 ), + .O(\current_mem_addr[5]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair28" *) + LUT3 #( + .INIT(8'h20)) + \current_mem_addr[5]_i_2 + (.I0(in26[5]), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .O(\current_mem_addr[5]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFF888F888F888)) + \current_mem_addr[5]_i_3 + (.I0(in26[5]), + .I1(\FSM_onehot_state_reg_n_0_[12] ), + .I2(\FSM_onehot_state_reg_n_0_[13] ), + .I3(in27[5]), + .I4(\FSM_onehot_state_reg_n_0_[21] ), + .I5(in30[5]), + .O(\current_mem_addr[5]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[5]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[5]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[5]), + .O(\current_mem_addr[5]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair17" *) + LUT4 #( + .INIT(16'h888A)) + \current_mem_addr[5]_i_5 + (.I0(current_task_count[5]), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .O(\current_mem_addr[5]_i_5_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFF4)) + \current_mem_addr[6]_i_1 + (.I0(\current_mem_addr[15]_i_3_n_0 ), + .I1(o_mem_addr_OBUF[6]), + .I2(\current_mem_addr[6]_i_2_n_0 ), + .I3(\current_mem_addr[6]_i_3_n_0 ), + .I4(\current_mem_addr[6]_i_4_n_0 ), + .I5(\current_mem_addr[6]_i_5_n_0 ), + .O(\current_mem_addr[6]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair29" *) + LUT3 #( + .INIT(8'h20)) + \current_mem_addr[6]_i_2 + (.I0(in26[6]), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .O(\current_mem_addr[6]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFF888F888F888)) + \current_mem_addr[6]_i_3 + (.I0(in26[6]), + .I1(\FSM_onehot_state_reg_n_0_[12] ), + .I2(\FSM_onehot_state_reg_n_0_[13] ), + .I3(in27[6]), + .I4(\FSM_onehot_state_reg_n_0_[21] ), + .I5(in30[6]), + .O(\current_mem_addr[6]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[6]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[6]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[6]), + .O(\current_mem_addr[6]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair17" *) + LUT4 #( + .INIT(16'h888A)) + \current_mem_addr[6]_i_5 + (.I0(current_task_count[6]), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .O(\current_mem_addr[6]_i_5_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFFFFF4)) + \current_mem_addr[7]_i_1 + (.I0(\current_mem_addr[15]_i_3_n_0 ), + .I1(o_mem_addr_OBUF[7]), + .I2(\current_mem_addr[7]_i_2_n_0 ), + .I3(\current_mem_addr[7]_i_3_n_0 ), + .I4(\current_mem_addr[7]_i_4_n_0 ), + .I5(\current_mem_addr[7]_i_5_n_0 ), + .O(\current_mem_addr[7]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[7]_i_10 + (.I0(o_mem_addr_OBUF[5]), + .O(\current_mem_addr[7]_i_10_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[7]_i_11 + (.I0(o_mem_addr_OBUF[4]), + .O(\current_mem_addr[7]_i_11_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair29" *) + LUT3 #( + .INIT(8'h20)) + \current_mem_addr[7]_i_2 + (.I0(in26[7]), + .I1(\FSM_onehot_state[17]_i_3_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .O(\current_mem_addr[7]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFFFF888F888F888)) + \current_mem_addr[7]_i_3 + (.I0(in26[7]), + .I1(\FSM_onehot_state_reg_n_0_[12] ), + .I2(\FSM_onehot_state_reg_n_0_[13] ), + .I3(in27[7]), + .I4(\FSM_onehot_state_reg_n_0_[21] ), + .I5(in30[7]), + .O(\current_mem_addr[7]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[7]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[7]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[7]), + .O(\current_mem_addr[7]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair18" *) + LUT4 #( + .INIT(16'h888A)) + \current_mem_addr[7]_i_5 + (.I0(current_task_count[7]), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(\FSM_onehot_state[17]_i_3_n_0 ), + .O(\current_mem_addr[7]_i_5_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[7]_i_8 + (.I0(o_mem_addr_OBUF[7]), + .O(\current_mem_addr[7]_i_8_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[7]_i_9 + (.I0(o_mem_addr_OBUF[6]), + .O(\current_mem_addr[7]_i_9_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[8]_i_1 + (.I0(\current_mem_addr[8]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[8]), + .I3(\current_mem_addr[8]_i_3_n_0 ), + .I4(\current_mem_addr[8]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[8]_i_1_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[8]_i_10 + (.I0(o_mem_addr_OBUF[5]), + .O(\current_mem_addr[8]_i_10_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair15" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[8]_i_2 + (.I0(in26[8]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[8]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[8]_i_3 + (.I0(in30[8]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[8]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[8]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[8]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[8]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[8]), + .O(\current_mem_addr[8]_i_4_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[8]_i_7 + (.I0(o_mem_addr_OBUF[8]), + .O(\current_mem_addr[8]_i_7_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[8]_i_8 + (.I0(o_mem_addr_OBUF[7]), + .O(\current_mem_addr[8]_i_8_n_0 )); + LUT1 #( + .INIT(2'h1)) + \current_mem_addr[8]_i_9 + (.I0(o_mem_addr_OBUF[6]), + .O(\current_mem_addr[8]_i_9_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFBAFFFFFFFA)) + \current_mem_addr[9]_i_1 + (.I0(\current_mem_addr[9]_i_2_n_0 ), + .I1(\current_mem_addr[14]_i_3_n_0 ), + .I2(o_mem_addr_OBUF[9]), + .I3(\current_mem_addr[9]_i_3_n_0 ), + .I4(\current_mem_addr[9]_i_4_n_0 ), + .I5(\current_mem_addr[14]_i_6_n_0 ), + .O(\current_mem_addr[9]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair14" *) + LUT4 #( + .INIT(16'hAA08)) + \current_mem_addr[9]_i_2 + (.I0(in26[9]), + .I1(\FSM_onehot_state[17]_i_2_n_0 ), + .I2(\FSM_onehot_state[17]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(\current_mem_addr[9]_i_2_n_0 )); + LUT4 #( + .INIT(16'hF888)) + \current_mem_addr[9]_i_3 + (.I0(in30[9]), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .I2(in27[9]), + .I3(\FSM_onehot_state_reg_n_0_[13] ), + .O(\current_mem_addr[9]_i_3_n_0 )); + LUT6 #( + .INIT(64'hAAAAAAA800000000)) + \current_mem_addr[9]_i_4 + (.I0(\current_mem_addr[15]_i_8_n_0 ), + .I1(o_mem_addr_OBUF[9]), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[9] ), + .I4(\FSM_onehot_state_reg_n_0_[6] ), + .I5(in23[9]), + .O(\current_mem_addr[9]_i_4_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[0]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[0]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[10] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[10]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[10]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[11] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[11]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[11]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[11]_i_5 + (.CI(\current_mem_addr_reg[7]_i_6_n_0 ), + .CO({\current_mem_addr_reg[11]_i_5_n_0 ,\current_mem_addr_reg[11]_i_5_n_1 ,\current_mem_addr_reg[11]_i_5_n_2 ,\current_mem_addr_reg[11]_i_5_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in27[11:8]), + .S(o_mem_addr_OBUF[11:8])); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[11]_i_6 + (.CI(\current_mem_addr_reg[7]_i_7_n_0 ), + .CO({\current_mem_addr_reg[11]_i_6_n_0 ,\current_mem_addr_reg[11]_i_6_n_1 ,\current_mem_addr_reg[11]_i_6_n_2 ,\current_mem_addr_reg[11]_i_6_n_3 }), + .CYINIT(1'b0), + .DI(o_mem_addr_OBUF[11:8]), + .O(in30[11:8]), + .S({\current_mem_addr[11]_i_7_n_0 ,\current_mem_addr[11]_i_8_n_0 ,\current_mem_addr[11]_i_9_n_0 ,\current_mem_addr[11]_i_10_n_0 })); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[12] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[12]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[12]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[12]_i_5 + (.CI(\current_mem_addr_reg[8]_i_6_n_0 ), + .CO({\current_mem_addr_reg[12]_i_5_n_0 ,\current_mem_addr_reg[12]_i_5_n_1 ,\current_mem_addr_reg[12]_i_5_n_2 ,\current_mem_addr_reg[12]_i_5_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in23[12:9]), + .S(o_mem_addr_OBUF[12:9])); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[13] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[13]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[13]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[14] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[14]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[14]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[15] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[15]_i_2_n_0 ), + .Q(o_mem_addr_OBUF[15]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[15]_i_10 + (.CI(\current_mem_addr_reg[11]_i_5_n_0 ), + .CO({\NLW_current_mem_addr_reg[15]_i_10_CO_UNCONNECTED [3],\current_mem_addr_reg[15]_i_10_n_1 ,\current_mem_addr_reg[15]_i_10_n_2 ,\current_mem_addr_reg[15]_i_10_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in27[15:12]), + .S(o_mem_addr_OBUF[15:12])); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[15]_i_11 + (.CI(\current_mem_addr_reg[11]_i_6_n_0 ), + .CO({\NLW_current_mem_addr_reg[15]_i_11_CO_UNCONNECTED [3],\current_mem_addr_reg[15]_i_11_n_1 ,\current_mem_addr_reg[15]_i_11_n_2 ,\current_mem_addr_reg[15]_i_11_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,o_mem_addr_OBUF[14:12]}), + .O(in30[15:12]), + .S({\current_mem_addr[15]_i_17_n_0 ,\current_mem_addr[15]_i_18_n_0 ,\current_mem_addr[15]_i_19_n_0 ,\current_mem_addr[15]_i_20_n_0 })); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[15]_i_12 + (.CI(\current_mem_addr_reg[8]_i_5_n_0 ), + .CO({\current_mem_addr_reg[15]_i_12_n_0 ,\current_mem_addr_reg[15]_i_12_n_1 ,\current_mem_addr_reg[15]_i_12_n_2 ,\current_mem_addr_reg[15]_i_12_n_3 }), + .CYINIT(1'b0), + .DI(o_mem_addr_OBUF[12:9]), + .O(in26[12:9]), + .S({\current_mem_addr[15]_i_21_n_0 ,\current_mem_addr[15]_i_22_n_0 ,\current_mem_addr[15]_i_23_n_0 ,\current_mem_addr[15]_i_24_n_0 })); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[15]_i_6 + (.CI(\current_mem_addr_reg[15]_i_12_n_0 ), + .CO({\NLW_current_mem_addr_reg[15]_i_6_CO_UNCONNECTED [3:2],\current_mem_addr_reg[15]_i_6_n_2 ,\current_mem_addr_reg[15]_i_6_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,o_mem_addr_OBUF[14:13]}), + .O({\NLW_current_mem_addr_reg[15]_i_6_O_UNCONNECTED [3],in26[15:13]}), + .S({1'b0,\current_mem_addr[15]_i_13_n_0 ,\current_mem_addr[15]_i_14_n_0 ,\current_mem_addr[15]_i_15_n_0 })); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[15]_i_9 + (.CI(\current_mem_addr_reg[12]_i_5_n_0 ), + .CO({\NLW_current_mem_addr_reg[15]_i_9_CO_UNCONNECTED [3:2],\current_mem_addr_reg[15]_i_9_n_2 ,\current_mem_addr_reg[15]_i_9_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O({\NLW_current_mem_addr_reg[15]_i_9_O_UNCONNECTED [3],in23[15:13]}), + .S({1'b0,o_mem_addr_OBUF[15:13]})); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[1]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[1]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[2]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[2]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[3]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[3]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[3]_i_7 + (.CI(1'b0), + .CO({\current_mem_addr_reg[3]_i_7_n_0 ,\current_mem_addr_reg[3]_i_7_n_1 ,\current_mem_addr_reg[3]_i_7_n_2 ,\current_mem_addr_reg[3]_i_7_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,o_mem_addr_OBUF[1],1'b0}), + .O({in27[3:1],in30[0]}), + .S({o_mem_addr_OBUF[3:2],\current_mem_addr[3]_i_9_n_0 ,o_mem_addr_OBUF[0]})); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[3]_i_8 + (.CI(1'b0), + .CO({\current_mem_addr_reg[3]_i_8_n_0 ,\current_mem_addr_reg[3]_i_8_n_1 ,\current_mem_addr_reg[3]_i_8_n_2 ,\current_mem_addr_reg[3]_i_8_n_3 }), + .CYINIT(1'b0), + .DI({o_mem_addr_OBUF[3:1],1'b0}), + .O({in30[3:1],\NLW_current_mem_addr_reg[3]_i_8_O_UNCONNECTED [0]}), + .S({\current_mem_addr[3]_i_10_n_0 ,\current_mem_addr[3]_i_11_n_0 ,\current_mem_addr[3]_i_12_n_0 ,o_mem_addr_OBUF[0]})); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[4]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[4]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[4]_i_8 + (.CI(1'b0), + .CO({\current_mem_addr_reg[4]_i_8_n_0 ,\current_mem_addr_reg[4]_i_8_n_1 ,\current_mem_addr_reg[4]_i_8_n_2 ,\current_mem_addr_reg[4]_i_8_n_3 }), + .CYINIT(o_mem_addr_OBUF[0]), + .DI(o_mem_addr_OBUF[4:1]), + .O(in26[4:1]), + .S({\current_mem_addr[4]_i_10_n_0 ,\current_mem_addr[4]_i_11_n_0 ,\current_mem_addr[4]_i_12_n_0 ,\current_mem_addr[4]_i_13_n_0 })); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[4]_i_9 + (.CI(1'b0), + .CO({\current_mem_addr_reg[4]_i_9_n_0 ,\current_mem_addr_reg[4]_i_9_n_1 ,\current_mem_addr_reg[4]_i_9_n_2 ,\current_mem_addr_reg[4]_i_9_n_3 }), + .CYINIT(o_mem_addr_OBUF[0]), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in23[4:1]), + .S(o_mem_addr_OBUF[4:1])); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[5]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[5]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[6] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[6]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[6]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[7] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[7]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[7]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[7]_i_6 + (.CI(\current_mem_addr_reg[3]_i_7_n_0 ), + .CO({\current_mem_addr_reg[7]_i_6_n_0 ,\current_mem_addr_reg[7]_i_6_n_1 ,\current_mem_addr_reg[7]_i_6_n_2 ,\current_mem_addr_reg[7]_i_6_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in27[7:4]), + .S(o_mem_addr_OBUF[7:4])); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[7]_i_7 + (.CI(\current_mem_addr_reg[3]_i_8_n_0 ), + .CO({\current_mem_addr_reg[7]_i_7_n_0 ,\current_mem_addr_reg[7]_i_7_n_1 ,\current_mem_addr_reg[7]_i_7_n_2 ,\current_mem_addr_reg[7]_i_7_n_3 }), + .CYINIT(1'b0), + .DI(o_mem_addr_OBUF[7:4]), + .O(in30[7:4]), + .S({\current_mem_addr[7]_i_8_n_0 ,\current_mem_addr[7]_i_9_n_0 ,\current_mem_addr[7]_i_10_n_0 ,\current_mem_addr[7]_i_11_n_0 })); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[8] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[8]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[8]), + .R(1'b0)); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[8]_i_5 + (.CI(\current_mem_addr_reg[4]_i_8_n_0 ), + .CO({\current_mem_addr_reg[8]_i_5_n_0 ,\current_mem_addr_reg[8]_i_5_n_1 ,\current_mem_addr_reg[8]_i_5_n_2 ,\current_mem_addr_reg[8]_i_5_n_3 }), + .CYINIT(1'b0), + .DI(o_mem_addr_OBUF[8:5]), + .O(in26[8:5]), + .S({\current_mem_addr[8]_i_7_n_0 ,\current_mem_addr[8]_i_8_n_0 ,\current_mem_addr[8]_i_9_n_0 ,\current_mem_addr[8]_i_10_n_0 })); + (* ADDER_THRESHOLD = "35" *) + CARRY4 \current_mem_addr_reg[8]_i_6 + (.CI(\current_mem_addr_reg[4]_i_9_n_0 ), + .CO({\current_mem_addr_reg[8]_i_6_n_0 ,\current_mem_addr_reg[8]_i_6_n_1 ,\current_mem_addr_reg[8]_i_6_n_2 ,\current_mem_addr_reg[8]_i_6_n_3 }), + .CYINIT(1'b0), + .DI({1'b0,1'b0,1'b0,1'b0}), + .O(in23[8:5]), + .S(o_mem_addr_OBUF[8:5])); + FDRE #( + .INIT(1'b0)) + \current_mem_addr_reg[9] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\current_mem_addr[9]_i_1_n_0 ), + .Q(o_mem_addr_OBUF[9]), + .R(1'b0)); + LUT5 #( + .INIT(32'h000000EA)) + \current_popped_id[5]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[0] ), + .I1(\FSM_onehot_state_reg_n_0_[2] ), + .I2(i_start_IBUF), + .I3(i_rst_IBUF), + .I4(\FSM_onehot_state_reg_n_0_[9] ), + .O(\current_popped_id[5]_i_1_n_0 )); + LUT5 #( + .INIT(32'h55555540)) + \current_popped_id[5]_i_2 + (.I0(i_rst_IBUF), + .I1(i_start_IBUF), + .I2(\FSM_onehot_state_reg_n_0_[2] ), + .I3(\FSM_onehot_state_reg_n_0_[0] ), + .I4(\FSM_onehot_state_reg_n_0_[9] ), + .O(\current_popped_id[5]_i_2_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[2]), + .Q(current_popped_id[0]), + .R(\current_popped_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[3]), + .Q(current_popped_id[1]), + .R(\current_popped_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[4]), + .Q(current_popped_id[2]), + .R(\current_popped_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[5]), + .Q(current_popped_id[3]), + .R(\current_popped_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[6]), + .Q(current_popped_id[4]), + .R(\current_popped_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_popped_id_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\current_popped_id[5]_i_2_n_0 ), + .D(i_mem_data_IBUF[7]), + .Q(current_popped_id[5]), + .R(\current_popped_id[5]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair35" *) + LUT3 #( + .INIT(8'h54)) + \current_task_count[0]_i_1 + (.I0(current_task_count[0]), + .I1(\FSM_onehot_state_reg_n_0_[10] ), + .I2(\FSM_onehot_state_reg_n_0_[19] ), + .O(\current_task_count[0]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair3" *) + LUT4 #( + .INIT(16'hEB28)) + \current_task_count[1]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[0]), + .I2(current_task_count[1]), + .I3(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[1]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair3" *) + LUT5 #( + .INIT(32'hECCB2888)) + \current_task_count[2]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[2]), + .I2(current_task_count[1]), + .I3(current_task_count[0]), + .I4(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[2]_i_1_n_0 )); + LUT6 #( + .INIT(64'hECCCCCCB28888888)) + \current_task_count[3]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[3]), + .I2(current_task_count[0]), + .I3(current_task_count[1]), + .I4(current_task_count[2]), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[3]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair2" *) + LUT4 #( + .INIT(16'hBEAA)) + \current_task_count[4]_i_1 + (.I0(\current_task_count[4]_i_2_n_0 ), + .I1(current_task_count[4]), + .I2(\current_task_count[5]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[4]_i_1_n_0 )); + LUT6 #( + .INIT(64'h2AAAAAAA80000000)) + \current_task_count[4]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[2]), + .I2(current_task_count[0]), + .I3(current_task_count[1]), + .I4(current_task_count[3]), + .I5(current_task_count[4]), + .O(\current_task_count[4]_i_2_n_0 )); + LUT6 #( + .INIT(64'hF44FF4F444444444)) + \current_task_count[5]_i_1 + (.I0(\current_task_count[5]_i_2_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(current_task_count[5]), + .I3(current_task_count[4]), + .I4(\current_task_count[5]_i_3_n_0 ), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[5]_i_1_n_0 )); + LUT6 #( + .INIT(64'h9555555555555555)) + \current_task_count[5]_i_2 + (.I0(current_task_count[5]), + .I1(current_task_count[4]), + .I2(current_task_count[2]), + .I3(current_task_count[0]), + .I4(current_task_count[1]), + .I5(current_task_count[3]), + .O(\current_task_count[5]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair6" *) + LUT4 #( + .INIT(16'h0001)) + \current_task_count[5]_i_3 + (.I0(current_task_count[3]), + .I1(current_task_count[0]), + .I2(current_task_count[1]), + .I3(current_task_count[2]), + .O(\current_task_count[5]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair4" *) + LUT5 #( + .INIT(32'h8FF48484)) + \current_task_count[6]_i_1 + (.I0(\current_task_count[7]_i_3_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(current_task_count[6]), + .I3(\current_task_count[7]_i_4_n_0 ), + .I4(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[6]_i_1_n_0 )); + LUT6 #( + .INIT(64'h5555555555555444)) + \current_task_count[7]_i_1 + (.I0(i_rst_IBUF), + .I1(\FSM_onehot_state_reg_n_0_[22] ), + .I2(\FSM_onehot_state_reg_n_0_[10] ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I4(\FSM_onehot_state_reg_n_0_[19] ), + .I5(\FSM_onehot_state_reg_n_0_[0] ), + .O(\current_task_count[7]_i_1_n_0 )); + LUT6 #( + .INIT(64'hF4CFF4F084C084C0)) + \current_task_count[7]_i_2 + (.I0(\current_task_count[7]_i_3_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(current_task_count[7]), + .I3(current_task_count[6]), + .I4(\current_task_count[7]_i_4_n_0 ), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(\current_task_count[7]_i_2_n_0 )); + LUT6 #( + .INIT(64'h7FFFFFFFFFFFFFFF)) + \current_task_count[7]_i_3 + (.I0(current_task_count[4]), + .I1(current_task_count[2]), + .I2(current_task_count[0]), + .I3(current_task_count[1]), + .I4(current_task_count[3]), + .I5(current_task_count[5]), + .O(\current_task_count[7]_i_3_n_0 )); + LUT6 #( + .INIT(64'h0000000000000001)) + \current_task_count[7]_i_4 + (.I0(current_task_count[2]), + .I1(current_task_count[1]), + .I2(current_task_count[0]), + .I3(current_task_count[3]), + .I4(current_task_count[5]), + .I5(current_task_count[4]), + .O(\current_task_count[7]_i_4_n_0 )); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[0]_i_1_n_0 ), + .Q(current_task_count[0]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[1]_i_1_n_0 ), + .Q(current_task_count[1]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[2]_i_1_n_0 ), + .Q(current_task_count[2]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[3]_i_1_n_0 ), + .Q(current_task_count[3]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[4]_i_1_n_0 ), + .Q(current_task_count[4]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[5]_i_1_n_0 ), + .Q(current_task_count[5]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[6] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[6]_i_1_n_0 ), + .Q(current_task_count[6]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \current_task_count_reg[7] + (.C(i_clk_IBUF_BUFG), + .CE(\current_task_count[7]_i_1_n_0 ), + .D(\current_task_count[7]_i_2_n_0 ), + .Q(current_task_count[7]), + .R(1'b0)); + BUFG i_clk_IBUF_BUFG_inst + (.I(i_clk_IBUF), + .O(i_clk_IBUF_BUFG)); + IBUF i_clk_IBUF_inst + (.I(i_clk), + .O(i_clk_IBUF)); + IBUF \i_mem_data_IBUF[0]_inst + (.I(i_mem_data[0]), + .O(i_mem_data_IBUF[0])); + IBUF \i_mem_data_IBUF[1]_inst + (.I(i_mem_data[1]), + .O(i_mem_data_IBUF[1])); + IBUF \i_mem_data_IBUF[2]_inst + (.I(i_mem_data[2]), + .O(i_mem_data_IBUF[2])); + IBUF \i_mem_data_IBUF[3]_inst + (.I(i_mem_data[3]), + .O(i_mem_data_IBUF[3])); + IBUF \i_mem_data_IBUF[4]_inst + (.I(i_mem_data[4]), + .O(i_mem_data_IBUF[4])); + IBUF \i_mem_data_IBUF[5]_inst + (.I(i_mem_data[5]), + .O(i_mem_data_IBUF[5])); + IBUF \i_mem_data_IBUF[6]_inst + (.I(i_mem_data[6]), + .O(i_mem_data_IBUF[6])); + IBUF \i_mem_data_IBUF[7]_inst + (.I(i_mem_data[7]), + .O(i_mem_data_IBUF[7])); + IBUF \i_op_IBUF[0]_inst + (.I(i_op[0]), + .O(i_op_IBUF[0])); + IBUF \i_op_IBUF[1]_inst + (.I(i_op[1]), + .O(i_op_IBUF[1])); + IBUF i_rst_IBUF_inst + (.I(i_rst), + .O(i_rst_IBUF)); + IBUF i_start_IBUF_inst + (.I(i_start), + .O(i_start_IBUF)); + IBUF \i_task_id_IBUF[0]_inst + (.I(i_task_id[0]), + .O(i_task_id_IBUF[0])); + IBUF \i_task_id_IBUF[1]_inst + (.I(i_task_id[1]), + .O(i_task_id_IBUF[1])); + IBUF \i_task_id_IBUF[2]_inst + (.I(i_task_id[2]), + .O(i_task_id_IBUF[2])); + IBUF \i_task_id_IBUF[3]_inst + (.I(i_task_id[3]), + .O(i_task_id_IBUF[3])); + IBUF \i_task_id_IBUF[4]_inst + (.I(i_task_id[4]), + .O(i_task_id_IBUF[4])); + IBUF \i_task_id_IBUF[5]_inst + (.I(i_task_id[5]), + .O(i_task_id_IBUF[5])); + IBUF \i_task_priority_IBUF[0]_inst + (.I(i_task_priority[0]), + .O(i_task_priority_IBUF[0])); + IBUF \i_task_priority_IBUF[1]_inst + (.I(i_task_priority[1]), + .O(i_task_priority_IBUF[1])); + OBUF o_done_OBUF_inst + (.I(o_done_OBUF), + .O(o_done)); + (* SOFT_HLUTNM = "soft_lutpair24" *) + LUT3 #( + .INIT(8'hEA)) + o_done_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[0] ), + .I1(\FSM_onehot_state_reg_n_0_[1] ), + .I2(i_start_IBUF), + .O(ctrl_done)); + FDPE #( + .INIT(1'b1)) + o_done_reg + (.C(i_clk_IBUF_BUFG), + .CE(1'b1), + .D(ctrl_done), + .PRE(i_rst_IBUF), + .Q(o_done_OBUF)); + OBUF \o_mem_addr_OBUF[0]_inst + (.I(o_mem_addr_OBUF[0]), + .O(o_mem_addr[0])); + OBUF \o_mem_addr_OBUF[10]_inst + (.I(o_mem_addr_OBUF[10]), + .O(o_mem_addr[10])); + OBUF \o_mem_addr_OBUF[11]_inst + (.I(o_mem_addr_OBUF[11]), + .O(o_mem_addr[11])); + OBUF \o_mem_addr_OBUF[12]_inst + (.I(o_mem_addr_OBUF[12]), + .O(o_mem_addr[12])); + OBUF \o_mem_addr_OBUF[13]_inst + (.I(o_mem_addr_OBUF[13]), + .O(o_mem_addr[13])); + OBUF \o_mem_addr_OBUF[14]_inst + (.I(o_mem_addr_OBUF[14]), + .O(o_mem_addr[14])); + OBUF \o_mem_addr_OBUF[15]_inst + (.I(o_mem_addr_OBUF[15]), + .O(o_mem_addr[15])); + OBUF \o_mem_addr_OBUF[1]_inst + (.I(o_mem_addr_OBUF[1]), + .O(o_mem_addr[1])); + OBUF \o_mem_addr_OBUF[2]_inst + (.I(o_mem_addr_OBUF[2]), + .O(o_mem_addr[2])); + OBUF \o_mem_addr_OBUF[3]_inst + (.I(o_mem_addr_OBUF[3]), + .O(o_mem_addr[3])); + OBUF \o_mem_addr_OBUF[4]_inst + (.I(o_mem_addr_OBUF[4]), + .O(o_mem_addr[4])); + OBUF \o_mem_addr_OBUF[5]_inst + (.I(o_mem_addr_OBUF[5]), + .O(o_mem_addr[5])); + OBUF \o_mem_addr_OBUF[6]_inst + (.I(o_mem_addr_OBUF[6]), + .O(o_mem_addr[6])); + OBUF \o_mem_addr_OBUF[7]_inst + (.I(o_mem_addr_OBUF[7]), + .O(o_mem_addr[7])); + OBUF \o_mem_addr_OBUF[8]_inst + (.I(o_mem_addr_OBUF[8]), + .O(o_mem_addr[8])); + OBUF \o_mem_addr_OBUF[9]_inst + (.I(o_mem_addr_OBUF[9]), + .O(o_mem_addr[9])); + LUT6 #( + .INIT(64'hFFE0FFE0FFFFFFE0)) + \o_mem_data[0]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[12] ), + .I1(\FSM_onehot_state[21]_i_1_n_0 ), + .I2(i_mem_data_IBUF[0]), + .I3(\o_mem_data[0]_i_2_n_0 ), + .I4(i_task_priority_IBUF[0]), + .I5(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\o_mem_data[0]_i_1_n_0 )); + LUT6 #( + .INIT(64'h0E0E0E0E0AFF0A0A)) + \o_mem_data[0]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(\FSM_onehot_state_reg_n_0_[10] ), + .I2(current_task_count[0]), + .I3(i_mem_data_IBUF[0]), + .I4(\FSM_onehot_state_reg_n_0_[5] ), + .I5(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\o_mem_data[0]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFBAFFBAFFFFFFBA)) + \o_mem_data[1]_i_1 + (.I0(\o_mem_data[1]_i_2_n_0 ), + .I1(\o_mem_data[1]_i_3_n_0 ), + .I2(\FSM_onehot_state[11]_i_1_n_0 ), + .I3(\o_mem_data[1]_i_4_n_0 ), + .I4(i_mem_data_IBUF[1]), + .I5(\o_mem_data[6]_i_3_n_0 ), + .O(\o_mem_data[1]_i_1_n_0 )); + LUT5 #( + .INIT(32'hAAAA8880)) + \o_mem_data[1]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[18] ), + .I1(i_mem_data_IBUF[1]), + .I2(\FSM_onehot_state[17]_i_2_n_0 ), + .I3(o_mem_addr_OBUF[0]), + .I4(i_task_priority_IBUF[1]), + .O(\o_mem_data[1]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair35" *) + LUT2 #( + .INIT(4'h6)) + \o_mem_data[1]_i_3 + (.I0(current_task_count[0]), + .I1(current_task_count[1]), + .O(\o_mem_data[1]_i_3_n_0 )); + LUT6 #( + .INIT(64'h88888F8888888888)) + \o_mem_data[1]_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(\o_mem_data[1]_i_3_n_0 ), + .I2(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I3(\FSM_onehot_state_reg_n_0_[5] ), + .I4(i_mem_data_IBUF[1]), + .I5(i_mem_data_IBUF[0]), + .O(\o_mem_data[1]_i_4_n_0 )); + LUT5 #( + .INIT(32'hF4F4FFF4)) + \o_mem_data[2]_i_1 + (.I0(\o_mem_data[7]_i_2_n_0 ), + .I1(i_mem_data_IBUF[2]), + .I2(\o_mem_data[2]_i_2_n_0 ), + .I3(i_task_id_IBUF[0]), + .I4(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\o_mem_data[2]_i_1_n_0 )); + LUT6 #( + .INIT(64'hECCB288828882888)) + \o_mem_data[2]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[2]), + .I2(current_task_count[1]), + .I3(current_task_count[0]), + .I4(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(\o_mem_data[2]_i_2_n_0 )); + LUT6 #( + .INIT(64'hFFF4FFF4FFFFFFF4)) + \o_mem_data[3]_i_1 + (.I0(\o_mem_data[7]_i_2_n_0 ), + .I1(i_mem_data_IBUF[3]), + .I2(\o_mem_data[3]_i_2_n_0 ), + .I3(\o_mem_data[3]_i_3_n_0 ), + .I4(i_task_id_IBUF[1]), + .I5(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\o_mem_data[3]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair6" *) + LUT5 #( + .INIT(32'h2AAA8000)) + \o_mem_data[3]_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[1]), + .I2(current_task_count[0]), + .I3(current_task_count[2]), + .I4(current_task_count[3]), + .O(\o_mem_data[3]_i_2_n_0 )); + LUT6 #( + .INIT(64'h8888888000000008)) + \o_mem_data[3]_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[10] ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I2(current_task_count[2]), + .I3(current_task_count[1]), + .I4(current_task_count[0]), + .I5(current_task_count[3]), + .O(\o_mem_data[3]_i_3_n_0 )); + LUT5 #( + .INIT(32'hF4F4FFF4)) + \o_mem_data[4]_i_1 + (.I0(\o_mem_data[7]_i_2_n_0 ), + .I1(i_mem_data_IBUF[4]), + .I2(\o_mem_data[4]_i_2_n_0 ), + .I3(i_task_id_IBUF[2]), + .I4(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\o_mem_data[4]_i_1_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair2" *) + LUT5 #( + .INIT(32'hBEAAAAAA)) + \o_mem_data[4]_i_2 + (.I0(\current_task_count[4]_i_2_n_0 ), + .I1(current_task_count[4]), + .I2(\current_task_count[5]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I4(\FSM_onehot_state_reg_n_0_[10] ), + .O(\o_mem_data[4]_i_2_n_0 )); + LUT5 #( + .INIT(32'hF4F4FFF4)) + \o_mem_data[5]_i_1 + (.I0(\o_mem_data[7]_i_2_n_0 ), + .I1(i_mem_data_IBUF[5]), + .I2(\o_mem_data[5]_i_2_n_0 ), + .I3(i_task_id_IBUF[3]), + .I4(\FSM_onehot_state[19]_i_2_n_0 ), + .O(\o_mem_data[5]_i_1_n_0 )); + LUT5 #( + .INIT(32'h4F444444)) + \o_mem_data[5]_i_2 + (.I0(\current_task_count[5]_i_2_n_0 ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(\o_mem_data[5]_i_3_n_0 ), + .I3(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I4(\FSM_onehot_state_reg_n_0_[10] ), + .O(\o_mem_data[5]_i_2_n_0 )); + LUT6 #( + .INIT(64'h5555555555555556)) + \o_mem_data[5]_i_3 + (.I0(current_task_count[5]), + .I1(current_task_count[4]), + .I2(current_task_count[3]), + .I3(current_task_count[0]), + .I4(current_task_count[1]), + .I5(current_task_count[2]), + .O(\o_mem_data[5]_i_3_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFF4F44)) + \o_mem_data[6]_i_1 + (.I0(\o_mem_data[6]_i_2_n_0 ), + .I1(\FSM_onehot_state[11]_i_1_n_0 ), + .I2(\o_mem_data[6]_i_3_n_0 ), + .I3(i_mem_data_IBUF[6]), + .I4(\o_mem_data[6]_i_4_n_0 ), + .I5(\o_mem_data[6]_i_5_n_0 ), + .O(\o_mem_data[6]_i_1_n_0 )); + LUT4 #( + .INIT(16'h5655)) + \o_mem_data[6]_i_2 + (.I0(current_task_count[6]), + .I1(current_task_count[4]), + .I2(current_task_count[5]), + .I3(\current_task_count[5]_i_3_n_0 ), + .O(\o_mem_data[6]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair8" *) + LUT5 #( + .INIT(32'h55554055)) + \o_mem_data[6]_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[12] ), + .I1(i_mem_data_IBUF[0]), + .I2(i_mem_data_IBUF[1]), + .I3(\FSM_onehot_state_reg_n_0_[5] ), + .I4(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .O(\o_mem_data[6]_i_3_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair4" *) + LUT3 #( + .INIT(8'h82)) + \o_mem_data[6]_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(\current_task_count[7]_i_3_n_0 ), + .I2(current_task_count[6]), + .O(\o_mem_data[6]_i_4_n_0 )); + LUT4 #( + .INIT(16'hE200)) + \o_mem_data[6]_i_5 + (.I0(i_task_id_IBUF[4]), + .I1(\FSM_onehot_state[21]_i_2_n_0 ), + .I2(i_mem_data_IBUF[6]), + .I3(\FSM_onehot_state_reg_n_0_[18] ), + .O(\o_mem_data[6]_i_5_n_0 )); + LUT6 #( + .INIT(64'hFFFFFFFFFFFF4F44)) + \o_mem_data[7]_i_1 + (.I0(\o_mem_data[7]_i_2_n_0 ), + .I1(i_mem_data_IBUF[7]), + .I2(\FSM_onehot_state[19]_i_2_n_0 ), + .I3(i_task_id_IBUF[5]), + .I4(\o_mem_data[7]_i_3_n_0 ), + .I5(\o_mem_data[7]_i_4_n_0 ), + .O(\o_mem_data[7]_i_1_n_0 )); + LUT6 #( + .INIT(64'h000000FB00FB00FB)) + \o_mem_data[7]_i_2 + (.I0(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I1(\FSM_onehot_state_reg_n_0_[5] ), + .I2(\o_mem_data[7]_i_5_n_0 ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .I4(\FSM_onehot_state_reg_n_0_[18] ), + .I5(\FSM_onehot_state[21]_i_2_n_0 ), + .O(\o_mem_data[7]_i_2_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair1" *) + LUT5 #( + .INIT(32'h88080080)) + \o_mem_data[7]_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[10] ), + .I1(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I2(\current_task_count[7]_i_4_n_0 ), + .I3(current_task_count[6]), + .I4(current_task_count[7]), + .O(\o_mem_data[7]_i_3_n_0 )); + LUT4 #( + .INIT(16'hA208)) + \o_mem_data[7]_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[19] ), + .I1(current_task_count[6]), + .I2(\current_task_count[7]_i_3_n_0 ), + .I3(current_task_count[7]), + .O(\o_mem_data[7]_i_4_n_0 )); + (* SOFT_HLUTNM = "soft_lutpair19" *) + LUT2 #( + .INIT(4'h8)) + \o_mem_data[7]_i_5 + (.I0(i_mem_data_IBUF[0]), + .I1(i_mem_data_IBUF[1]), + .O(\o_mem_data[7]_i_5_n_0 )); + OBUF \o_mem_data_OBUF[0]_inst + (.I(o_mem_data_OBUF[0]), + .O(o_mem_data[0])); + OBUF \o_mem_data_OBUF[1]_inst + (.I(o_mem_data_OBUF[1]), + .O(o_mem_data[1])); + OBUF \o_mem_data_OBUF[2]_inst + (.I(o_mem_data_OBUF[2]), + .O(o_mem_data[2])); + OBUF \o_mem_data_OBUF[3]_inst + (.I(o_mem_data_OBUF[3]), + .O(o_mem_data[3])); + OBUF \o_mem_data_OBUF[4]_inst + (.I(o_mem_data_OBUF[4]), + .O(o_mem_data[4])); + OBUF \o_mem_data_OBUF[5]_inst + (.I(o_mem_data_OBUF[5]), + .O(o_mem_data[5])); + OBUF \o_mem_data_OBUF[6]_inst + (.I(o_mem_data_OBUF[6]), + .O(o_mem_data[6])); + OBUF \o_mem_data_OBUF[7]_inst + (.I(o_mem_data_OBUF[7]), + .O(o_mem_data[7])); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[0]_i_1_n_0 ), + .Q(o_mem_data_OBUF[0]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[1]_i_1_n_0 ), + .Q(o_mem_data_OBUF[1]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[2]_i_1_n_0 ), + .Q(o_mem_data_OBUF[2]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[3]_i_1_n_0 ), + .Q(o_mem_data_OBUF[3]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[4]_i_1_n_0 ), + .Q(o_mem_data_OBUF[4]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[5]_i_1_n_0 ), + .Q(o_mem_data_OBUF[5]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[6] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[6]_i_1_n_0 ), + .Q(o_mem_data_OBUF[6]), + .R(1'b0)); + FDRE #( + .INIT(1'b0)) + \o_mem_data_reg[7] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(\o_mem_data[7]_i_1_n_0 ), + .Q(o_mem_data_OBUF[7]), + .R(1'b0)); + OBUF o_mem_en_OBUF_inst + (.I(o_mem_en_OBUF), + .O(o_mem_en)); + LUT6 #( + .INIT(64'hFFFFFFFEFFFFFFFF)) + o_mem_en_i_1 + (.I0(\FSM_onehot_state[8]_i_1_n_0 ), + .I1(\FSM_onehot_state[15]_i_2_n_0 ), + .I2(o_mem_we_i_3_n_0), + .I3(o_mem_en_i_2_n_0), + .I4(o_mem_en_i_3_n_0), + .I5(\FSM_onehot_state[17]_i_3_n_0 ), + .O(ctrl_mem_en)); + (* SOFT_HLUTNM = "soft_lutpair11" *) + LUT4 #( + .INIT(16'hFFFE)) + o_mem_en_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[0] ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(\FSM_onehot_state_reg_n_0_[12] ), + .I3(\FSM_onehot_state_reg_n_0_[18] ), + .O(o_mem_en_i_2_n_0)); + LUT6 #( + .INIT(64'hFFFFFFFEFFFEFFFE)) + o_mem_en_i_3 + (.I0(\FSM_onehot_state_reg_n_0_[6] ), + .I1(\FSM_onehot_state_reg_n_0_[3] ), + .I2(\FSM_onehot_state[10]_i_1_n_0 ), + .I3(o_mem_en_i_4_n_0), + .I4(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I5(\FSM_onehot_state_reg_n_0_[10] ), + .O(o_mem_en_i_3_n_0)); + (* SOFT_HLUTNM = "soft_lutpair27" *) + LUT2 #( + .INIT(4'hE)) + o_mem_en_i_4 + (.I0(\FSM_onehot_state_reg_n_0_[22] ), + .I1(\FSM_onehot_state_reg_n_0_[21] ), + .O(o_mem_en_i_4_n_0)); + FDCE #( + .INIT(1'b0)) + o_mem_en_reg + (.C(i_clk_IBUF_BUFG), + .CE(1'b1), + .CLR(i_rst_IBUF), + .D(ctrl_mem_en), + .Q(o_mem_en_OBUF)); + OBUF o_mem_we_OBUF_inst + (.I(o_mem_we_OBUF), + .O(o_mem_we)); + (* SOFT_HLUTNM = "soft_lutpair10" *) + LUT4 #( + .INIT(16'hFFFD)) + o_mem_we_i_1 + (.I0(o_mem_we_i_2_n_0), + .I1(o_mem_we_i_3_n_0), + .I2(\FSM_onehot_state_reg_n_0_[18] ), + .I3(\FSM_onehot_state_reg_n_0_[12] ), + .O(ctrl_mem_we)); + (* SOFT_HLUTNM = "soft_lutpair0" *) + LUT5 #( + .INIT(32'h00000111)) + o_mem_we_i_2 + (.I0(\FSM_onehot_state_reg_n_0_[0] ), + .I1(\FSM_onehot_state_reg_n_0_[19] ), + .I2(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I3(\FSM_onehot_state_reg_n_0_[10] ), + .I4(\FSM_onehot_state_reg_n_0_[22] ), + .O(o_mem_we_i_2_n_0)); + (* SOFT_HLUTNM = "soft_lutpair8" *) + LUT4 #( + .INIT(16'h0444)) + o_mem_we_i_3 + (.I0(\FSM_onehot_state_reg[12]_i_2_n_2 ), + .I1(\FSM_onehot_state_reg_n_0_[5] ), + .I2(i_mem_data_IBUF[1]), + .I3(i_mem_data_IBUF[0]), + .O(o_mem_we_i_3_n_0)); + FDCE #( + .INIT(1'b0)) + o_mem_we_reg + (.C(i_clk_IBUF_BUFG), + .CE(1'b1), + .CLR(i_rst_IBUF), + .D(ctrl_mem_we), + .Q(o_mem_we_OBUF)); + LUT3 #( + .INIT(8'h07)) + \o_task_id[5]_i_1 + (.I0(\FSM_onehot_state_reg_n_0_[1] ), + .I1(i_start_IBUF), + .I2(i_rst_IBUF), + .O(\o_task_id[5]_i_1_n_0 )); + OBUF \o_task_id_OBUF[0]_inst + (.I(o_task_id_OBUF[0]), + .O(o_task_id[0])); + OBUF \o_task_id_OBUF[1]_inst + (.I(o_task_id_OBUF[1]), + .O(o_task_id[1])); + OBUF \o_task_id_OBUF[2]_inst + (.I(o_task_id_OBUF[2]), + .O(o_task_id[2])); + OBUF \o_task_id_OBUF[3]_inst + (.I(o_task_id_OBUF[3]), + .O(o_task_id[3])); + OBUF \o_task_id_OBUF[4]_inst + (.I(o_task_id_OBUF[4]), + .O(o_task_id[4])); + OBUF \o_task_id_OBUF[5]_inst + (.I(o_task_id_OBUF[5]), + .O(o_task_id[5])); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[0] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[0]), + .Q(o_task_id_OBUF[0]), + .R(\o_task_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[1] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[1]), + .Q(o_task_id_OBUF[1]), + .R(\o_task_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[2] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[2]), + .Q(o_task_id_OBUF[2]), + .R(\o_task_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[3] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[3]), + .Q(o_task_id_OBUF[3]), + .R(\o_task_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[4] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[4]), + .Q(o_task_id_OBUF[4]), + .R(\o_task_id[5]_i_1_n_0 )); + FDRE #( + .INIT(1'b0)) + \o_task_id_reg[5] + (.C(i_clk_IBUF_BUFG), + .CE(\current_mem_addr[15]_i_1_n_0 ), + .D(current_popped_id[5]), + .Q(o_task_id_OBUF[5]), + .R(\o_task_id[5]_i_1_n_0 )); +endmodule +`ifndef GLBL +`define GLBL +`timescale 1 ps / 1 ps + +module glbl (); + + parameter ROC_WIDTH = 100000; + parameter TOC_WIDTH = 0; + parameter GRES_WIDTH = 10000; + parameter GRES_START = 10000; + +//-------- STARTUP Globals -------------- + wire GSR; + wire GTS; + wire GWE; + wire PRLD; + wire GRESTORE; + tri1 p_up_tmp; + tri (weak1, strong0) PLL_LOCKG = p_up_tmp; + + wire PROGB_GLBL; + wire CCLKO_GLBL; + wire FCSBO_GLBL; + wire [3:0] DO_GLBL; + wire [3:0] DI_GLBL; + + reg GSR_int; + reg GTS_int; + reg PRLD_int; + reg GRESTORE_int; + +//-------- JTAG Globals -------------- + wire JTAG_TDO_GLBL; + wire JTAG_TCK_GLBL; + wire JTAG_TDI_GLBL; + wire JTAG_TMS_GLBL; + wire JTAG_TRST_GLBL; + + reg JTAG_CAPTURE_GLBL; + reg JTAG_RESET_GLBL; + reg JTAG_SHIFT_GLBL; + reg JTAG_UPDATE_GLBL; + reg JTAG_RUNTEST_GLBL; + + reg JTAG_SEL1_GLBL = 0; + reg JTAG_SEL2_GLBL = 0 ; + reg JTAG_SEL3_GLBL = 0; + reg JTAG_SEL4_GLBL = 0; + + reg JTAG_USER_TDO1_GLBL = 1'bz; + reg JTAG_USER_TDO2_GLBL = 1'bz; + reg JTAG_USER_TDO3_GLBL = 1'bz; + reg JTAG_USER_TDO4_GLBL = 1'bz; + + assign (strong1, weak0) GSR = GSR_int; + assign (strong1, weak0) GTS = GTS_int; + assign (weak1, weak0) PRLD = PRLD_int; + assign (strong1, weak0) GRESTORE = GRESTORE_int; + + initial begin + GSR_int = 1'b1; + PRLD_int = 1'b1; + #(ROC_WIDTH) + GSR_int = 1'b0; + PRLD_int = 1'b0; + end + + initial begin + GTS_int = 1'b1; + #(TOC_WIDTH) + GTS_int = 1'b0; + end + + initial begin + GRESTORE_int = 1'b0; + #(GRES_START); + GRESTORE_int = 1'b1; + #(GRES_WIDTH); + GRESTORE_int = 1'b0; + end + +endmodule +`endif diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_timing_func_synth.wdb b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/project_tb_timing_func_synth.wdb new file mode 100644 index 0000000000000000000000000000000000000000..8ce283463b29faac7f0c0d08f25fb667f416019e GIT binary patch literal 68544 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/simulate.log b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/simulate.log new file mode 100644 index 0000000..b0f8eb8 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/simulate.log @@ -0,0 +1,152 @@ +Time resolution is 1 ps +Note: === GRUPPO 0: Reset === +Time: 50 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 0.0 OK: reset base +Time: 200 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 0.1 OK: reset asincrono durante operazione +Time: 1900 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 1: Inserimento === +Time: 1900 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 1.0 OK: insert in lista vuota +Time: 3670100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 1.1 OK: insert con priorità massima in testa +Time: 6010100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 1.2 OK: insert con priorità minima in fondo +Time: 8230100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 1.3 OK: insert stesso prio -> va in coda agli uguali +Time: 10450100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 1.4 OK: insert con tutti uguale prio -> sempre in fondo +Time: 12950100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 1.5 OK: insert con ID duplicato ignorato +Time: 15330100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 2: Rimozione === +Time: 15330100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 2.0 OK: rimozione da lista vuota -> o_task_id=0 +Time: 16990100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 2.1 OK: rimozione unico task -> lista vuota, task_id corretto +Time: 18930100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 2.2 OK: rimozione con prio uguali -> FIFO rispettato +Time: 21430100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 3: Decremento priorità === +Time: 21430100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 3.0 OK: decremento su lista vuota +Time: 23130100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 3.1 OK: saturazione a priorità 3 +Time: 25350100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 3.2 OK: tutti a prio 3 -> nessuna modifica +Time: 27870100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 3.3 OK: ex-prio2 vengono prima di ex-prio3 (no riordino) +Time: 30730100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 4: Svuota lista === +Time: 30730100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 4.0 OK: svuota lista popolata +Time: 33050100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 4.1 OK: svuota lista già vuota +Time: 34730100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 4.2 OK: svuota poi rimozione -> o_task_id=0 +Time: 36690100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 4.3 OK: svuota poi decrementa -> nessun effetto +Time: 38690100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 5: Sequenze composite === +Time: 38690100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 5.0 OK: insert->dec->remove, ID estratto corretto +Time: 41490100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 5.1 OK: ordinamento completo con priorità miste +Time: 44730100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 6: Rimozione multipla e ordinamento === +Time: 44730100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 6.0 OK: rimozioni multiple consecutive fino a lista vuota +Time: 48310100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 6.1 OK: rimozione da lista con prio miste -> sempre posizione 1 +Time: 50750100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 7: Decremento ripetuto === +Time: 50750100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 7.0 OK: saturazione progressiva 0->1->2->3->3->3 +Time: 53430100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 7.0b OK: decremento ripetuto su prio miste, saturazione indipendente +Time: 57010100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 7.1 OK: decremento su lista con un solo task +Time: 59330100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 7.2 OK: decrementa -> svuota -> rimozione su vuota +Time: 61730100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 8: Insert dopo rimozione e casi limite === +Time: 61730100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 8.0 OK: insert dopo rimozione parziale, ordinamento corretto +Time: 64950100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 8.1 OK: insert prio=0 in lista tutto-prio=0, FIFO rispettato +Time: 67830100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 8.2 OK: insert prio=3 in lista tutto-prio=3, FIFO rispettato +Time: 70710100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 9: o_task_id per OP diverso da 01 === +Time: 70710100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 9.0 OK: OP=10 -> o_task_id=0 quando DONE=1 +Time: 72490100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 9.1 OK: OP=00 -> o_task_id=0 quando DONE=1 +Time: 74450100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 9.2 OK: OP=11 -> o_task_id=0 quando DONE=1 +Time: 76330100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 9.3 OK: OP=01 lista vuota -> o_task_id=0 quando DONE=1 +Time: 77990100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 10: Protocollo, reset avanzato, stress === +Time: 77990100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 10.0 OK: operazione immediata dopo DONE->0 post-reset +Time: 79750100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 10.1 OK: stress test completo (insert/dec/remove/re-insert) +Time: 92030100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 10.2 OK: reset dopo svuota, modulo correttamente reinizializzato +Time: 94630100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 11: Insert con ID=0 === +Time: 94630100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 11.0 OK: insert ID=0 su lista vuota ignorato +Time: 96290100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 11.1 OK: insert ID=0 su lista popolata ignorato +Time: 98430100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 12: Capacita' massima 63 task === +Time: 98430100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 12.0 OK: 63 task inseriti, memoria completa verificata +Time: 231450100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 12.1 OK: inserimenti oltre il 63esimo tutti ignorati +Time: 235970100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 12.2 OK: drain di 63 task nell'ordine atteso +Time: 363310100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 13: Stale memory e duplicati ai bordi === +Time: 363310100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 13.0 OK: re-insert di ID appena rimosso +Time: 365710100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 13.1 OK: duplicato in prima posizione ignorato +Time: 368130100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 13.2 OK: duplicato in ultima posizione ignorato +Time: 368250100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 13.3 OK: re-insert stesso ID dopo clear +Time: 370330100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 14: Reset asincrono avanzato === +Time: 370330100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 14.0 OK: reset a meta' shift di OP=01 +Time: 373150100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 14.1 OK: reset durante la scrittura del count +Time: 375930100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 14.2 OK: reset durante OP=00 +Time: 378470100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 14.3 OK: reset mentre DONE=1 +Time: 380550100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 14.4 OK: reset corto non allineato +Time: 382970100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: === GRUPPO 15: START lento dopo DONE=1 === +Time: 382970100 ps Iteration: 1 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 15.0 OK: nessun doppio pop con START lento +Time: 385480 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 15.1 OK: nessun doppio age con START lento +Time: 387740 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Note: Test 15.2 OK: insert con START tenuto 2 cicli extra +Time: 389840 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Failure: ====================================== + Tutti i test edge case sono PASSATI +====================================== +Time: 389840 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +$finish called at time : 389840 ns : File "/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd" Line 1616 +Note: === GRUPPO 0: Reset === +Time: 389890 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +Failure: FAIL [0.0 reset-addr0] addr=0 expected=0x0 actual=0x1 +Time: 390040 ns Iteration: 0 Process: /project_tb_edge/main_test File: /home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd +$finish called at time : 390040 ns : File "/home/aleandro/Projects/progetto_reti_logiche/progetto_reti_logiche.srcs/sim_1/new/project_tb_edge.vhd" Line 420 +INFO: xsimkernel Simulation Memory Usage: 294496 KB (Peak: 343308 KB), Simulation CPU Usage: 890 ms diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/simulate.sh b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/simulate.sh new file mode 100755 index 0000000..4f29b67 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/simulate.sh @@ -0,0 +1,26 @@ +#!/bin/bash -f +# **************************************************************************** +# Vivado (TM) v2025.2 (64-bit) +# +# Filename : simulate.sh +# Simulator : AMD Vivado Simulator +# Description : Script for simulating the design by launching the simulator +# +# Generated by Vivado on Fri Jun 12 15:48:20 CEST 2026 +# SW Build 6299465 on Fri Nov 14 12:34:56 MST 2025 +# +# Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. +# Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved. +# +# usage: simulate.sh +# +# **************************************************************************** +export SIM_VER_XSIM=2025.2 +export GCC_VER_XSIM=9.3.0 + +# catch pipeline exit status +set -Eeuo pipefail +# simulate design +echo "xsim project_tb_edge_func_synth -key {Post-Synthesis:sim_1:Functional:project_tb_edge} -tclbatch project_tb_edge.tcl -view /home/aleandro/Projects/progetto_reti_logiche/project_tb_edge_behav1.wcfg -log simulate.log" +xsim project_tb_edge_func_synth -key {Post-Synthesis:sim_1:Functional:project_tb_edge} -tclbatch project_tb_edge.tcl -view /home/aleandro/Projects/progetto_reti_logiche/project_tb_edge_behav1.wcfg -log simulate.log + diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xelab.pb b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xelab.pb new file mode 100644 index 0000000000000000000000000000000000000000..5689620fd97d2f80bad56253e55c0ce377628ecb GIT binary patch literal 3278 zcmcJRTW{Mo6vyi(TTx;gvZlMG4Zs1*HVm_D>taiLOWX_6x=H3F#kLoLmS~$BO$rpH z${qHwZ?NZmhkd*OdmI(n39Tx#k$O*pF8t|#{^uO>fal=dy%_GrU~6+{!)`Udxf_#7 zLXqUcya%>kk`#p;o?bq?3+|+5({v2;r#rS)x4cegd@I__Hvg#I+PV$?tbvUSn9lhP z{MzNwRFKhF!j|W@>xy8)9|$EZ`xYLuz<~Rd!hZfi4Es37BE_Kru2$s>@>LGp4^zYf z9KshQ5F9?jDG6}=9~52QU$?<~{e&^XM&HeYwk%5*`%ex0U2E`2HVS=>BHBjbL}Nf$ zBVn%uiXt2~D9hTm!5bN-XaMVV!UCZ#As!?nD5nt#5LNd=z0TBiBB2ZGJ(v;dhj@q* zDk)LxdN5%``5yZzR_l8(#z7)5iPV~yp(q}62_wOO#)0(Zz{lYT`@@6XfJ8^Ai-u@N6u2G8)4p&Q8heoOv8c zG9jGk>#~@MK8ctS8)|RqT+!ek_Zkd ze+3akbQ+VHTXw6g%d(vXT}R++P1jPQ+40^WTArgz?1Q~CGQoLQahk|n-jEA8>+<}T zT=u_Z+ZxV%2W+&Wc$SKGQ>Q)$@8>%64$e!X$e^o>F+T?PBNY6CMpzjf8p>oAA`uoi zr@0{Va5?TixToVJ&QvUwu>Nw`E_g795sa}C7y7CNNZ_|xZM%|syqvlNK3$-)WP*ia zDtaaI*>dDZV0(^CsgY7&Z7O({l9GqtgYB!7On8`3tTJ=4tvB_4$P=@;0U7y@01Ano zv(UKbt3p-m+8$to0V06b=)nr#9u!mZlB9*VOo literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/Compile_Options.txt b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/Compile_Options.txt new file mode 100644 index 0000000..1de1768 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/Compile_Options.txt @@ -0,0 +1 @@ +--incr --debug "typical" --relax --mt "8" -L "xil_defaultlib" -L "unisims_ver" -L "secureip" --snapshot "project_tb_edge_func_synth" "xil_defaultlib.project_tb_edge" "xil_defaultlib.glbl" -log "elaborate.log" diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/TempBreakPointFile.txt b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/TempBreakPointFile.txt new file mode 100644 index 0000000..fdbc612 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/TempBreakPointFile.txt @@ -0,0 +1 @@ +Breakpoint File Version 1.0 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/obj/xsim_0.lnx64.o b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/obj/xsim_0.lnx64.o new file mode 100644 index 0000000000000000000000000000000000000000..694014c1bfda59f4ff7f26aed598bb1d8e1688c0 GIT binary patch literal 360712 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 N?^QbISZgH4{{sLT72f~= literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/obj/xsim_1.c b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/obj/xsim_1.c new file mode 100644 index 0000000..22669a6 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/obj/xsim_1.c @@ -0,0 +1,479 @@ +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2020 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/**********************************************************************/ + +#if defined(_WIN32) + #include "stdio.h" + #define IKI_DLLESPEC __declspec(dllimport) +#else + #define IKI_DLLESPEC +#endif +#include "iki.h" +#include +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2020 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/**********************************************************************/ + +#if defined(_WIN32) + #include "stdio.h" + #define IKI_DLLESPEC __declspec(dllimport) +#else + #define IKI_DLLESPEC +#endif +#include "iki.h" +#include +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +typedef void (*funcp)(char *, char *); +extern int main(int, char**); +IKI_DLLESPEC extern void execute_2(char*, char *); +IKI_DLLESPEC extern void execute_3(char*, char *); +IKI_DLLESPEC extern void execute_4(char*, char *); +IKI_DLLESPEC extern void execute_5(char*, char *); +IKI_DLLESPEC extern void execute_6(char*, char *); +IKI_DLLESPEC extern void execute_7(char*, char *); +IKI_DLLESPEC extern void execute_8(char*, char *); +IKI_DLLESPEC extern void execute_9(char*, char *); +IKI_DLLESPEC extern void execute_10(char*, char *); +IKI_DLLESPEC extern void execute_11(char*, char *); +IKI_DLLESPEC extern void execute_1261(char*, char *); +IKI_DLLESPEC extern void execute_1262(char*, char *); +IKI_DLLESPEC extern void execute_1263(char*, char *); +IKI_DLLESPEC extern void execute_1264(char*, char *); +IKI_DLLESPEC extern void execute_1265(char*, char *); +IKI_DLLESPEC extern void vlog_const_rhs_process_execute_0_fast_for_reg(char*, char*, char*); +IKI_DLLESPEC extern void execute_2350(char*, char *); +IKI_DLLESPEC extern void execute_2351(char*, char *); +IKI_DLLESPEC extern void execute_2353(char*, char *); +IKI_DLLESPEC extern void execute_2354(char*, char *); +IKI_DLLESPEC extern void execute_2355(char*, char *); +IKI_DLLESPEC extern void execute_2356(char*, char *); +IKI_DLLESPEC extern void execute_2357(char*, char *); +IKI_DLLESPEC extern void execute_2358(char*, char *); +IKI_DLLESPEC extern void execute_2359(char*, char *); +IKI_DLLESPEC extern void execute_2360(char*, char *); +IKI_DLLESPEC extern void execute_2361(char*, char *); +IKI_DLLESPEC extern void execute_2362(char*, char *); +IKI_DLLESPEC extern void execute_2363(char*, char *); +IKI_DLLESPEC extern void execute_2364(char*, char *); +IKI_DLLESPEC extern void execute_2365(char*, char *); +IKI_DLLESPEC extern void execute_2366(char*, char *); +IKI_DLLESPEC extern void execute_2367(char*, char *); +IKI_DLLESPEC extern void execute_2368(char*, char *); +IKI_DLLESPEC extern void execute_2369(char*, char *); +IKI_DLLESPEC extern void execute_2370(char*, char *); +IKI_DLLESPEC extern void execute_2371(char*, char *); +IKI_DLLESPEC extern void execute_2372(char*, char *); +IKI_DLLESPEC extern void execute_2373(char*, char *); +IKI_DLLESPEC extern void execute_2374(char*, char *); +IKI_DLLESPEC extern void execute_2375(char*, char *); +IKI_DLLESPEC extern void execute_2376(char*, char *); +IKI_DLLESPEC extern void execute_2377(char*, char *); +IKI_DLLESPEC extern void execute_2378(char*, char *); +IKI_DLLESPEC extern void execute_2379(char*, char *); +IKI_DLLESPEC extern void execute_2380(char*, char *); +IKI_DLLESPEC extern void execute_2381(char*, char *); +IKI_DLLESPEC extern void execute_2382(char*, char *); +IKI_DLLESPEC extern void execute_2383(char*, char *); +IKI_DLLESPEC extern void execute_2384(char*, char *); +IKI_DLLESPEC extern void execute_2385(char*, char *); +IKI_DLLESPEC extern void execute_2386(char*, char *); +IKI_DLLESPEC extern void execute_2387(char*, char *); +IKI_DLLESPEC extern void execute_2388(char*, char *); +IKI_DLLESPEC extern void execute_2389(char*, char *); +IKI_DLLESPEC extern void execute_2390(char*, char *); +IKI_DLLESPEC extern void execute_2391(char*, char *); +IKI_DLLESPEC extern void execute_2392(char*, char *); +IKI_DLLESPEC extern void execute_2393(char*, char *); +IKI_DLLESPEC extern void execute_2394(char*, char *); +IKI_DLLESPEC extern void execute_2395(char*, char *); +IKI_DLLESPEC extern void execute_2396(char*, char *); +IKI_DLLESPEC extern void execute_2397(char*, char *); +IKI_DLLESPEC extern void execute_2398(char*, char *); +IKI_DLLESPEC extern void execute_2399(char*, char *); +IKI_DLLESPEC extern void execute_2400(char*, char *); +IKI_DLLESPEC extern void execute_2401(char*, char *); +IKI_DLLESPEC extern void execute_2402(char*, char *); +IKI_DLLESPEC extern void execute_2403(char*, char *); +IKI_DLLESPEC extern void execute_2404(char*, char *); +IKI_DLLESPEC extern void execute_2405(char*, char *); +IKI_DLLESPEC extern void execute_2406(char*, char *); +IKI_DLLESPEC extern void execute_2407(char*, char *); +IKI_DLLESPEC extern void execute_2408(char*, char *); +IKI_DLLESPEC extern void execute_2409(char*, char *); +IKI_DLLESPEC extern void execute_2410(char*, char *); +IKI_DLLESPEC extern void execute_2411(char*, char *); +IKI_DLLESPEC extern void execute_2412(char*, char *); +IKI_DLLESPEC extern void execute_2413(char*, char *); +IKI_DLLESPEC extern void execute_2414(char*, char *); +IKI_DLLESPEC extern void execute_2415(char*, char *); +IKI_DLLESPEC extern void execute_29(char*, char *); +IKI_DLLESPEC extern void execute_1276(char*, char *); +IKI_DLLESPEC extern void execute_1277(char*, char *); +IKI_DLLESPEC extern void execute_1278(char*, char *); +IKI_DLLESPEC extern void execute_1279(char*, char *); +IKI_DLLESPEC extern void execute_1275(char*, char *); +IKI_DLLESPEC extern void execute_38(char*, char *); +IKI_DLLESPEC extern void execute_39(char*, char *); +IKI_DLLESPEC extern void vlog_simple_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); +IKI_DLLESPEC extern void execute_43(char*, char *); +IKI_DLLESPEC extern void execute_44(char*, char *); +IKI_DLLESPEC extern void execute_47(char*, char *); +IKI_DLLESPEC extern void execute_1293(char*, char *); +IKI_DLLESPEC extern void execute_1294(char*, char *); +IKI_DLLESPEC extern void execute_1292(char*, char *); +IKI_DLLESPEC extern void execute_50(char*, char *); +IKI_DLLESPEC extern void execute_1296(char*, char *); +IKI_DLLESPEC extern void execute_1297(char*, char *); +IKI_DLLESPEC extern void execute_1298(char*, char *); +IKI_DLLESPEC extern void execute_1299(char*, char *); +IKI_DLLESPEC extern void execute_1300(char*, char *); +IKI_DLLESPEC extern void execute_1301(char*, char *); +IKI_DLLESPEC extern void execute_1302(char*, char *); +IKI_DLLESPEC extern void execute_1303(char*, char *); +IKI_DLLESPEC extern void execute_1295(char*, char *); +IKI_DLLESPEC extern void execute_56(char*, char *); +IKI_DLLESPEC extern void execute_57(char*, char *); +IKI_DLLESPEC extern void execute_197(char*, char *); +IKI_DLLESPEC extern void execute_198(char*, char *); +IKI_DLLESPEC extern void execute_199(char*, char *); +IKI_DLLESPEC extern void execute_1454(char*, char *); +IKI_DLLESPEC extern void execute_1455(char*, char *); +IKI_DLLESPEC extern void execute_1456(char*, char *); +IKI_DLLESPEC extern void execute_1457(char*, char *); +IKI_DLLESPEC extern void execute_201(char*, char *); +IKI_DLLESPEC extern void execute_202(char*, char *); +IKI_DLLESPEC extern void execute_203(char*, char *); +IKI_DLLESPEC extern void execute_1458(char*, char *); +IKI_DLLESPEC extern void execute_1459(char*, char *); +IKI_DLLESPEC extern void execute_1460(char*, char *); +IKI_DLLESPEC extern void execute_1461(char*, char *); +IKI_DLLESPEC extern void execute_1470(char*, char *); +IKI_DLLESPEC extern void execute_1471(char*, char *); +IKI_DLLESPEC extern void execute_1472(char*, char *); +IKI_DLLESPEC extern void execute_1475(char*, char *); +IKI_DLLESPEC extern void execute_1476(char*, char *); +IKI_DLLESPEC extern void execute_1477(char*, char *); +IKI_DLLESPEC extern void execute_1478(char*, char *); +IKI_DLLESPEC extern void execute_738(char*, char *); +IKI_DLLESPEC extern void execute_739(char*, char *); +IKI_DLLESPEC extern void execute_740(char*, char *); +IKI_DLLESPEC extern void execute_1845(char*, char *); +IKI_DLLESPEC extern void execute_1846(char*, char *); +IKI_DLLESPEC extern void execute_1847(char*, char *); +IKI_DLLESPEC extern void execute_2103(char*, char *); +IKI_DLLESPEC extern void execute_942(char*, char *); +IKI_DLLESPEC extern void execute_2104(char*, char *); +IKI_DLLESPEC extern void execute_984(char*, char *); +IKI_DLLESPEC extern void execute_2125(char*, char *); +IKI_DLLESPEC extern void execute_2126(char*, char *); +IKI_DLLESPEC extern void execute_2127(char*, char *); +IKI_DLLESPEC extern void vlog_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); +IKI_DLLESPEC extern void transaction_34(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_35(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_36(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_37(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_38(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_39(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_40(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_41(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_42(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_43(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_44(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_45(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void vhdl_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); +IKI_DLLESPEC extern void transaction_54(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_57(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_58(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_59(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_60(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_61(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_62(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_63(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_64(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_65(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_66(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_67(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_68(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_69(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_77(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_78(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_79(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_80(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_117(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_118(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_119(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_120(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_121(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_122(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_165(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_170(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_171(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_172(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_193(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_194(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_195(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_197(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_198(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_199(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_200(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_201(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_219(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_220(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_221(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_228(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_229(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_230(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_231(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_232(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_250(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_251(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_257(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_258(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_259(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_264(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_265(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_266(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_271(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_272(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_273(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_274(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_275(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_276(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_277(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_278(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_279(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_280(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_281(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_282(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_283(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_284(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_285(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_286(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_287(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_288(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_289(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_290(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_291(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_292(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_293(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_294(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_295(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_296(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_297(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_298(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_299(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_300(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_301(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_302(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_303(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_304(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_305(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_306(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_307(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_308(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_309(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_310(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_311(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_312(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_313(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_314(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_315(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_316(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_317(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_318(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_319(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_320(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_321(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_322(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_323(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_324(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_325(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_326(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_327(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_328(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_355(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_356(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_357(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_358(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_360(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_397(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_400(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_401(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_402(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_403(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_404(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_405(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_406(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_785(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_791(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_797(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_803(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_827(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_833(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_839(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_845(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_851(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_857(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_863(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_869(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_875(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_881(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_887(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_893(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_899(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_905(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_911(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_917(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_923(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_929(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_935(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_941(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1741(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1747(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1753(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1776(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1790(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1796(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1802(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1852(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1858(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1864(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1892(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1915(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1921(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1927(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1950(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1973(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2000(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2005(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2010(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2015(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2020(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2025(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2140(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2146(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2152(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2158(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2164(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2170(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2176(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2182(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2200(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2449(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2455(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2461(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2467(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2473(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2479(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2485(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2491(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2526(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2559(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2580(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2585(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2590(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2595(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2600(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2605(char*, char*, unsigned, unsigned, unsigned); +funcp funcTab[350] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_4, (funcp)execute_5, (funcp)execute_6, (funcp)execute_7, (funcp)execute_8, (funcp)execute_9, (funcp)execute_10, (funcp)execute_11, (funcp)execute_1261, (funcp)execute_1262, (funcp)execute_1263, (funcp)execute_1264, (funcp)execute_1265, (funcp)vlog_const_rhs_process_execute_0_fast_for_reg, (funcp)execute_2350, (funcp)execute_2351, (funcp)execute_2353, (funcp)execute_2354, (funcp)execute_2355, (funcp)execute_2356, (funcp)execute_2357, (funcp)execute_2358, (funcp)execute_2359, (funcp)execute_2360, (funcp)execute_2361, (funcp)execute_2362, (funcp)execute_2363, (funcp)execute_2364, (funcp)execute_2365, (funcp)execute_2366, (funcp)execute_2367, (funcp)execute_2368, (funcp)execute_2369, (funcp)execute_2370, (funcp)execute_2371, (funcp)execute_2372, (funcp)execute_2373, (funcp)execute_2374, (funcp)execute_2375, (funcp)execute_2376, (funcp)execute_2377, (funcp)execute_2378, (funcp)execute_2379, (funcp)execute_2380, (funcp)execute_2381, (funcp)execute_2382, (funcp)execute_2383, (funcp)execute_2384, (funcp)execute_2385, (funcp)execute_2386, (funcp)execute_2387, (funcp)execute_2388, (funcp)execute_2389, (funcp)execute_2390, (funcp)execute_2391, (funcp)execute_2392, (funcp)execute_2393, (funcp)execute_2394, (funcp)execute_2395, (funcp)execute_2396, (funcp)execute_2397, (funcp)execute_2398, (funcp)execute_2399, (funcp)execute_2400, (funcp)execute_2401, (funcp)execute_2402, (funcp)execute_2403, (funcp)execute_2404, (funcp)execute_2405, (funcp)execute_2406, (funcp)execute_2407, (funcp)execute_2408, (funcp)execute_2409, (funcp)execute_2410, (funcp)execute_2411, (funcp)execute_2412, (funcp)execute_2413, (funcp)execute_2414, (funcp)execute_2415, (funcp)execute_29, (funcp)execute_1276, (funcp)execute_1277, (funcp)execute_1278, (funcp)execute_1279, (funcp)execute_1275, (funcp)execute_38, (funcp)execute_39, (funcp)vlog_simple_process_execute_0_fast_no_reg_no_agg, (funcp)execute_43, (funcp)execute_44, (funcp)execute_47, (funcp)execute_1293, (funcp)execute_1294, (funcp)execute_1292, (funcp)execute_50, (funcp)execute_1296, (funcp)execute_1297, (funcp)execute_1298, (funcp)execute_1299, (funcp)execute_1300, (funcp)execute_1301, (funcp)execute_1302, (funcp)execute_1303, (funcp)execute_1295, (funcp)execute_56, (funcp)execute_57, (funcp)execute_197, (funcp)execute_198, (funcp)execute_199, (funcp)execute_1454, (funcp)execute_1455, (funcp)execute_1456, (funcp)execute_1457, (funcp)execute_201, (funcp)execute_202, (funcp)execute_203, (funcp)execute_1458, (funcp)execute_1459, (funcp)execute_1460, (funcp)execute_1461, (funcp)execute_1470, (funcp)execute_1471, (funcp)execute_1472, (funcp)execute_1475, (funcp)execute_1476, (funcp)execute_1477, (funcp)execute_1478, (funcp)execute_738, (funcp)execute_739, (funcp)execute_740, (funcp)execute_1845, (funcp)execute_1846, (funcp)execute_1847, (funcp)execute_2103, (funcp)execute_942, (funcp)execute_2104, (funcp)execute_984, (funcp)execute_2125, (funcp)execute_2126, (funcp)execute_2127, (funcp)vlog_transfunc_eventcallback, (funcp)transaction_34, (funcp)transaction_35, (funcp)transaction_36, (funcp)transaction_37, (funcp)transaction_38, (funcp)transaction_39, (funcp)transaction_40, (funcp)transaction_41, (funcp)transaction_42, (funcp)transaction_43, (funcp)transaction_44, (funcp)transaction_45, (funcp)vhdl_transfunc_eventcallback, (funcp)transaction_54, (funcp)transaction_57, (funcp)transaction_58, (funcp)transaction_59, (funcp)transaction_60, (funcp)transaction_61, (funcp)transaction_62, (funcp)transaction_63, (funcp)transaction_64, (funcp)transaction_65, (funcp)transaction_66, (funcp)transaction_67, (funcp)transaction_68, (funcp)transaction_69, (funcp)transaction_77, (funcp)transaction_78, (funcp)transaction_79, (funcp)transaction_80, (funcp)transaction_117, (funcp)transaction_118, (funcp)transaction_119, (funcp)transaction_120, (funcp)transaction_121, (funcp)transaction_122, (funcp)transaction_165, (funcp)transaction_170, (funcp)transaction_171, (funcp)transaction_172, (funcp)transaction_193, (funcp)transaction_194, (funcp)transaction_195, (funcp)transaction_197, (funcp)transaction_198, (funcp)transaction_199, (funcp)transaction_200, (funcp)transaction_201, (funcp)transaction_219, (funcp)transaction_220, (funcp)transaction_221, (funcp)transaction_228, (funcp)transaction_229, (funcp)transaction_230, (funcp)transaction_231, (funcp)transaction_232, (funcp)transaction_250, (funcp)transaction_251, (funcp)transaction_257, (funcp)transaction_258, (funcp)transaction_259, (funcp)transaction_264, (funcp)transaction_265, (funcp)transaction_266, (funcp)transaction_271, (funcp)transaction_272, (funcp)transaction_273, (funcp)transaction_274, (funcp)transaction_275, (funcp)transaction_276, (funcp)transaction_277, (funcp)transaction_278, (funcp)transaction_279, (funcp)transaction_280, (funcp)transaction_281, (funcp)transaction_282, (funcp)transaction_283, (funcp)transaction_284, (funcp)transaction_285, (funcp)transaction_286, (funcp)transaction_287, (funcp)transaction_288, (funcp)transaction_289, (funcp)transaction_290, (funcp)transaction_291, (funcp)transaction_292, (funcp)transaction_293, (funcp)transaction_294, (funcp)transaction_295, (funcp)transaction_296, (funcp)transaction_297, (funcp)transaction_298, (funcp)transaction_299, (funcp)transaction_300, (funcp)transaction_301, (funcp)transaction_302, (funcp)transaction_303, (funcp)transaction_304, (funcp)transaction_305, (funcp)transaction_306, (funcp)transaction_307, (funcp)transaction_308, (funcp)transaction_309, (funcp)transaction_310, (funcp)transaction_311, (funcp)transaction_312, (funcp)transaction_313, (funcp)transaction_314, (funcp)transaction_315, (funcp)transaction_316, (funcp)transaction_317, (funcp)transaction_318, (funcp)transaction_319, (funcp)transaction_320, (funcp)transaction_321, (funcp)transaction_322, (funcp)transaction_323, (funcp)transaction_324, (funcp)transaction_325, (funcp)transaction_326, (funcp)transaction_327, (funcp)transaction_328, (funcp)transaction_355, (funcp)transaction_356, (funcp)transaction_357, (funcp)transaction_358, (funcp)transaction_360, (funcp)transaction_397, (funcp)transaction_400, (funcp)transaction_401, (funcp)transaction_402, (funcp)transaction_403, (funcp)transaction_404, (funcp)transaction_405, (funcp)transaction_406, (funcp)transaction_785, (funcp)transaction_791, (funcp)transaction_797, (funcp)transaction_803, (funcp)transaction_827, (funcp)transaction_833, (funcp)transaction_839, (funcp)transaction_845, (funcp)transaction_851, (funcp)transaction_857, (funcp)transaction_863, (funcp)transaction_869, (funcp)transaction_875, (funcp)transaction_881, (funcp)transaction_887, (funcp)transaction_893, (funcp)transaction_899, (funcp)transaction_905, (funcp)transaction_911, (funcp)transaction_917, (funcp)transaction_923, (funcp)transaction_929, (funcp)transaction_935, (funcp)transaction_941, (funcp)transaction_1741, (funcp)transaction_1747, (funcp)transaction_1753, (funcp)transaction_1776, (funcp)transaction_1790, (funcp)transaction_1796, (funcp)transaction_1802, (funcp)transaction_1852, (funcp)transaction_1858, (funcp)transaction_1864, (funcp)transaction_1892, (funcp)transaction_1915, (funcp)transaction_1921, (funcp)transaction_1927, (funcp)transaction_1950, (funcp)transaction_1973, (funcp)transaction_2000, (funcp)transaction_2005, (funcp)transaction_2010, (funcp)transaction_2015, (funcp)transaction_2020, (funcp)transaction_2025, (funcp)transaction_2140, (funcp)transaction_2146, (funcp)transaction_2152, (funcp)transaction_2158, (funcp)transaction_2164, (funcp)transaction_2170, (funcp)transaction_2176, (funcp)transaction_2182, (funcp)transaction_2200, (funcp)transaction_2449, (funcp)transaction_2455, (funcp)transaction_2461, (funcp)transaction_2467, (funcp)transaction_2473, (funcp)transaction_2479, (funcp)transaction_2485, (funcp)transaction_2491, (funcp)transaction_2526, (funcp)transaction_2559, (funcp)transaction_2580, (funcp)transaction_2585, (funcp)transaction_2590, (funcp)transaction_2595, (funcp)transaction_2600, (funcp)transaction_2605}; +const int NumRelocateId= 350; + +void relocate(char *dp) +{ + iki_relocate(dp, "xsim.dir/project_tb_edge_func_synth/xsim.reloc", (void **)funcTab, 350); + iki_vhdl_file_variable_register(dp + 1091216); + iki_vhdl_file_variable_register(dp + 1091272); + + + /*Populate the transaction function pointer field in the whole net structure */ +} + +void sensitize(char *dp) +{ + iki_sensitize(dp, "xsim.dir/project_tb_edge_func_synth/xsim.reloc"); +} + + // Initialize Verilog nets in mixed simulation, for the cases when the value at time 0 should be propagated from the mixed language Vhdl net + +void wrapper_func_0(char *dp) + +{ + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1096624, dp + 1639704, 0, 0, 0, 0, 1, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1096680, dp + 1640096, 0, 0, 0, 0, 1, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1096736, dp + 1640208, 0, 0, 0, 0, 1, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1096968, dp + 1640320, 0, 5, 0, 5, 6, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1096888, dp + 1640432, 0, 1, 0, 1, 2, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1096928, dp + 1639984, 0, 1, 0, 1, 2, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1097584, dp + 1639872, 0, 7, 0, 7, 8, 1); + +} + +void simulate(char *dp) +{ + iki_schedule_processes_at_time_zero(dp, "xsim.dir/project_tb_edge_func_synth/xsim.reloc"); + wrapper_func_0(dp); + + iki_execute_processes(); + + // Schedule resolution functions for the multiply driven Verilog nets that have strength + // Schedule transaction functions for the singly driven Verilog nets that have strength + +} +#include "iki_bridge.h" +void relocate(char *); + +void sensitize(char *); + +void simulate(char *); + +extern SYSTEMCLIB_IMP_DLLSPEC void local_register_implicit_channel(int, char*); +extern SYSTEMCLIB_IMP_DLLSPEC int xsim_argc_copy ; +extern SYSTEMCLIB_IMP_DLLSPEC char** xsim_argv_copy ; + +int main(int argc, char **argv) +{ + iki_heap_initialize("ms", "isimmm", 0, 2147483648) ; + iki_set_xsimdir_location_if_remapped(argc, argv) ; + iki_set_sv_type_file_path_name("xsim.dir/project_tb_edge_func_synth/xsim.svtype"); + iki_set_crvs_dump_file_path_name("xsim.dir/project_tb_edge_func_synth/xsim.crvsdump"); + void* design_handle = iki_create_design("xsim.dir/project_tb_edge_func_synth/xsim.mem", (void *)relocate, (void *)sensitize, (void *)simulate, (void*)0, 0, isimBridge_getWdbWriter(), 0, argc, argv); + iki_set_rc_trial_count(100); + (void) design_handle; + return iki_simulate_design(); +} diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/obj/xsim_1.lnx64.o b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/obj/xsim_1.lnx64.o new file mode 100644 index 0000000000000000000000000000000000000000..e0ed8d7f0f11662b56aaa26888ea237bf80f9873 GIT binary patch literal 29528 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.dbg b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.dbg new file mode 100644 index 0000000000000000000000000000000000000000..1ebb4caafd4d0f636d1a402e82f5c81c339e0b8a GIT binary patch literal 62792 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 P&*HCRkIZ{w=Ti; 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

K2n9=)= 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.svtype b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.svtype new file mode 100644 index 0000000000000000000000000000000000000000..57a1c98a5f6d4cad2df1f5c52fb8d6f99ce7db99 GIT binary patch literal 78 tcmcCwfB+^S#R$azfdE7^FtPv%W)K5en2}KdC?pRO<^d8QpbVkFBmku)2(thH literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.type b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsim.type new file mode 100644 index 0000000000000000000000000000000000000000..3435d327f1d502f58a9565e0520053b7b1f05a99 GIT binary patch literal 8104 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 literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimSettings.ini b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimSettings.ini new file mode 100644 index 0000000..5862680 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimSettings.ini @@ -0,0 +1,50 @@ +[General] +ARRAY_DISPLAY_LIMIT=512 +RADIX=hex +TIME_UNIT=ns +TRACE_LIMIT=2147483647 +VHDL_ENTITY_SCOPE_FILTER=true +VHDL_PACKAGE_SCOPE_FILTER=false +VHDL_BLOCK_SCOPE_FILTER=true +VHDL_PROCESS_SCOPE_FILTER=false +VHDL_PROCEDURE_SCOPE_FILTER=false +VERILOG_MODULE_SCOPE_FILTER=true +VERILOG_PACKAGE_SCOPE_FILTER=false +VERILOG_BLOCK_SCOPE_FILTER=false +VERILOG_TASK_SCOPE_FILTER=false +VERILOG_PROCESS_SCOPE_FILTER=false +INPUT_OBJECT_FILTER=true +OUTPUT_OBJECT_FILTER=true +INOUT_OBJECT_FILTER=true +INTERNAL_OBJECT_FILTER=true +CONSTANT_OBJECT_FILTER=true +VARIABLE_OBJECT_FILTER=true +INPUT_PROTOINST_FILTER=true +OUTPUT_PROTOINST_FILTER=true +INOUT_PROTOINST_FILTER=true +INTERNAL_PROTOINST_FILTER=true +CONSTANT_PROTOINST_FILTER=true +VARIABLE_PROTOINST_FILTER=true +SCOPE_NAME_COLUMN_WIDTH=156 +SCOPE_DESIGN_UNIT_COLUMN_WIDTH=251 +SCOPE_BLOCK_TYPE_COLUMN_WIDTH=109 +OBJECT_NAME_COLUMN_WIDTH=191 +OBJECT_VALUE_COLUMN_WIDTH=1024 +OBJECT_DATA_TYPE_COLUMN_WIDTH=76 +PROCESS_NAME_COLUMN_WIDTH=75 +PROCESS_TYPE_COLUMN_WIDTH=75 +FRAME_INDEX_COLUMN_WIDTH=75 +FRAME_NAME_COLUMN_WIDTH=75 +FRAME_FILE_NAME_COLUMN_WIDTH=75 +FRAME_LINE_NUM_COLUMN_WIDTH=75 +LOCAL_NAME_COLUMN_WIDTH=75 +LOCAL_VALUE_COLUMN_WIDTH=75 +LOCAL_DATA_TYPE_COLUMN_WIDTH=0 +PROTO_NAME_COLUMN_WIDTH=0 +PROTO_VALUE_COLUMN_WIDTH=0 +INPUT_LOCAL_FILTER=1 +OUTPUT_LOCAL_FILTER=1 +INOUT_LOCAL_FILTER=1 +INTERNAL_LOCAL_FILTER=1 +CONSTANT_LOCAL_FILTER=1 +VARIABLE_LOCAL_FILTER=1 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimcrash.log b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimcrash.log new file mode 100644 index 0000000..e69de29 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimk b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimk new file mode 100755 index 0000000000000000000000000000000000000000..0c47047d3e3a2cd20565dfcbfdaccae7f38e8ce2 GIT binary patch literal 280312 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 IWp2Iy1E-xH@c;k- literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimkernel.log b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimkernel.log new file mode 100644 index 0000000..3a44e3d --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_edge_func_synth/xsimkernel.log @@ -0,0 +1,7 @@ +Running: xsim.dir/project_tb_edge_func_synth/xsimk -simmode gui -wdb project_tb_edge_func_synth.wdb -simrunnum 0 -socket 41063 +Design successfully loaded +Design Loading Memory Usage: 199732 KB (Peak: 199732 KB) +Design Loading CPU Usage: 700 ms +Simulation completed +Simulation Memory Usage: 294496 KB (Peak: 343308 KB) +Simulation CPU Usage: 890 ms diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/Compile_Options.txt b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/Compile_Options.txt new file mode 100644 index 0000000..be910a6 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/Compile_Options.txt @@ -0,0 +1 @@ +--incr --debug "typical" --relax --mt "8" -L "xil_defaultlib" -L "unisims_ver" -L "secureip" --snapshot "project_tb_func_synth" "xil_defaultlib.project_tb" "xil_defaultlib.glbl" -log "elaborate.log" diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/TempBreakPointFile.txt b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/TempBreakPointFile.txt new file mode 100644 index 0000000..fdbc612 --- /dev/null +++ b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/TempBreakPointFile.txt @@ -0,0 +1 @@ +Breakpoint File Version 1.0 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/obj/xsim_0.lnx64.o b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/obj/xsim_0.lnx64.o new file mode 100644 index 0000000000000000000000000000000000000000..d781cd00cbd46d4ef42516171376fc7332ba6862 GIT binary patch literal 199112 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 +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +/**********************************************************************/ +/* ____ ____ */ +/* / /\/ / */ +/* /___/ \ / */ +/* \ \ \/ */ +/* \ \ Copyright (c) 2003-2020 Xilinx, Inc. */ +/* / / All Right Reserved. */ +/* /---/ /\ */ +/* \ \ / \ */ +/* \___\/\___\ */ +/**********************************************************************/ + +#if defined(_WIN32) + #include "stdio.h" + #define IKI_DLLESPEC __declspec(dllimport) +#else + #define IKI_DLLESPEC +#endif +#include "iki.h" +#include +#include +#ifdef __GNUC__ +#include +#else +#include +#define alloca _alloca +#endif +typedef void (*funcp)(char *, char *); +extern int main(int, char**); +IKI_DLLESPEC extern void execute_2(char*, char *); +IKI_DLLESPEC extern void execute_3(char*, char *); +IKI_DLLESPEC extern void execute_4(char*, char *); +IKI_DLLESPEC extern void execute_5(char*, char *); +IKI_DLLESPEC extern void execute_6(char*, char *); +IKI_DLLESPEC extern void execute_7(char*, char *); +IKI_DLLESPEC extern void execute_8(char*, char *); +IKI_DLLESPEC extern void execute_9(char*, char *); +IKI_DLLESPEC extern void execute_10(char*, char *); +IKI_DLLESPEC extern void execute_11(char*, char *); +IKI_DLLESPEC extern void execute_1260(char*, char *); +IKI_DLLESPEC extern void execute_1261(char*, char *); +IKI_DLLESPEC extern void execute_1262(char*, char *); +IKI_DLLESPEC extern void execute_1263(char*, char *); +IKI_DLLESPEC extern void vlog_const_rhs_process_execute_0_fast_for_reg(char*, char*, char*); +IKI_DLLESPEC extern void execute_2341(char*, char *); +IKI_DLLESPEC extern void execute_2342(char*, char *); +IKI_DLLESPEC extern void execute_2344(char*, char *); +IKI_DLLESPEC extern void execute_2345(char*, char *); +IKI_DLLESPEC extern void execute_2346(char*, char *); +IKI_DLLESPEC extern void execute_2347(char*, char *); +IKI_DLLESPEC extern void execute_2348(char*, char *); +IKI_DLLESPEC extern void execute_2349(char*, char *); +IKI_DLLESPEC extern void execute_2350(char*, char *); +IKI_DLLESPEC extern void execute_2351(char*, char *); +IKI_DLLESPEC extern void execute_2352(char*, char *); +IKI_DLLESPEC extern void execute_2353(char*, char *); +IKI_DLLESPEC extern void execute_2354(char*, char *); +IKI_DLLESPEC extern void execute_2355(char*, char *); +IKI_DLLESPEC extern void execute_2356(char*, char *); +IKI_DLLESPEC extern void execute_2357(char*, char *); +IKI_DLLESPEC extern void execute_2358(char*, char *); +IKI_DLLESPEC extern void execute_2359(char*, char *); +IKI_DLLESPEC extern void execute_2360(char*, char *); +IKI_DLLESPEC extern void execute_2361(char*, char *); +IKI_DLLESPEC extern void execute_2362(char*, char *); +IKI_DLLESPEC extern void execute_2363(char*, char *); +IKI_DLLESPEC extern void execute_2364(char*, char *); +IKI_DLLESPEC extern void execute_2365(char*, char *); +IKI_DLLESPEC extern void execute_2366(char*, char *); +IKI_DLLESPEC extern void execute_2367(char*, char *); +IKI_DLLESPEC extern void execute_2368(char*, char *); +IKI_DLLESPEC extern void execute_2369(char*, char *); +IKI_DLLESPEC extern void execute_2370(char*, char *); +IKI_DLLESPEC extern void execute_2371(char*, char *); +IKI_DLLESPEC extern void execute_2372(char*, char *); +IKI_DLLESPEC extern void execute_2373(char*, char *); +IKI_DLLESPEC extern void execute_2374(char*, char *); +IKI_DLLESPEC extern void execute_2375(char*, char *); +IKI_DLLESPEC extern void execute_2376(char*, char *); +IKI_DLLESPEC extern void execute_2377(char*, char *); +IKI_DLLESPEC extern void execute_2378(char*, char *); +IKI_DLLESPEC extern void execute_2379(char*, char *); +IKI_DLLESPEC extern void execute_2380(char*, char *); +IKI_DLLESPEC extern void execute_2381(char*, char *); +IKI_DLLESPEC extern void execute_2382(char*, char *); +IKI_DLLESPEC extern void execute_2383(char*, char *); +IKI_DLLESPEC extern void execute_2384(char*, char *); +IKI_DLLESPEC extern void execute_2385(char*, char *); +IKI_DLLESPEC extern void execute_2386(char*, char *); +IKI_DLLESPEC extern void execute_2387(char*, char *); +IKI_DLLESPEC extern void execute_2388(char*, char *); +IKI_DLLESPEC extern void execute_2389(char*, char *); +IKI_DLLESPEC extern void execute_2390(char*, char *); +IKI_DLLESPEC extern void execute_2391(char*, char *); +IKI_DLLESPEC extern void execute_2392(char*, char *); +IKI_DLLESPEC extern void execute_2393(char*, char *); +IKI_DLLESPEC extern void execute_2394(char*, char *); +IKI_DLLESPEC extern void execute_2395(char*, char *); +IKI_DLLESPEC extern void execute_2396(char*, char *); +IKI_DLLESPEC extern void execute_2397(char*, char *); +IKI_DLLESPEC extern void execute_2398(char*, char *); +IKI_DLLESPEC extern void execute_2399(char*, char *); +IKI_DLLESPEC extern void execute_2400(char*, char *); +IKI_DLLESPEC extern void execute_2401(char*, char *); +IKI_DLLESPEC extern void execute_2402(char*, char *); +IKI_DLLESPEC extern void execute_2403(char*, char *); +IKI_DLLESPEC extern void execute_2404(char*, char *); +IKI_DLLESPEC extern void execute_2405(char*, char *); +IKI_DLLESPEC extern void execute_2406(char*, char *); +IKI_DLLESPEC extern void execute_28(char*, char *); +IKI_DLLESPEC extern void execute_1267(char*, char *); +IKI_DLLESPEC extern void execute_1268(char*, char *); +IKI_DLLESPEC extern void execute_1269(char*, char *); +IKI_DLLESPEC extern void execute_1270(char*, char *); +IKI_DLLESPEC extern void execute_1266(char*, char *); +IKI_DLLESPEC extern void execute_37(char*, char *); +IKI_DLLESPEC extern void execute_38(char*, char *); +IKI_DLLESPEC extern void vlog_simple_process_execute_0_fast_no_reg_no_agg(char*, char*, char*); +IKI_DLLESPEC extern void execute_42(char*, char *); +IKI_DLLESPEC extern void execute_43(char*, char *); +IKI_DLLESPEC extern void execute_46(char*, char *); +IKI_DLLESPEC extern void execute_1284(char*, char *); +IKI_DLLESPEC extern void execute_1285(char*, char *); +IKI_DLLESPEC extern void execute_1283(char*, char *); +IKI_DLLESPEC extern void execute_49(char*, char *); +IKI_DLLESPEC extern void execute_1287(char*, char *); +IKI_DLLESPEC extern void execute_1288(char*, char *); +IKI_DLLESPEC extern void execute_1289(char*, char *); +IKI_DLLESPEC extern void execute_1290(char*, char *); +IKI_DLLESPEC extern void execute_1291(char*, char *); +IKI_DLLESPEC extern void execute_1292(char*, char *); +IKI_DLLESPEC extern void execute_1293(char*, char *); +IKI_DLLESPEC extern void execute_1294(char*, char *); +IKI_DLLESPEC extern void execute_1286(char*, char *); +IKI_DLLESPEC extern void execute_55(char*, char *); +IKI_DLLESPEC extern void execute_56(char*, char *); +IKI_DLLESPEC extern void execute_196(char*, char *); +IKI_DLLESPEC extern void execute_197(char*, char *); +IKI_DLLESPEC extern void execute_198(char*, char *); +IKI_DLLESPEC extern void execute_1445(char*, char *); +IKI_DLLESPEC extern void execute_1446(char*, char *); +IKI_DLLESPEC extern void execute_1447(char*, char *); +IKI_DLLESPEC extern void execute_1448(char*, char *); +IKI_DLLESPEC extern void execute_200(char*, char *); +IKI_DLLESPEC extern void execute_201(char*, char *); +IKI_DLLESPEC extern void execute_202(char*, char *); +IKI_DLLESPEC extern void execute_1449(char*, char *); +IKI_DLLESPEC extern void execute_1450(char*, char *); +IKI_DLLESPEC extern void execute_1451(char*, char *); +IKI_DLLESPEC extern void execute_1452(char*, char *); +IKI_DLLESPEC extern void execute_1461(char*, char *); +IKI_DLLESPEC extern void execute_1462(char*, char *); +IKI_DLLESPEC extern void execute_1463(char*, char *); +IKI_DLLESPEC extern void execute_1466(char*, char *); +IKI_DLLESPEC extern void execute_1467(char*, char *); +IKI_DLLESPEC extern void execute_1468(char*, char *); +IKI_DLLESPEC extern void execute_1469(char*, char *); +IKI_DLLESPEC extern void execute_737(char*, char *); +IKI_DLLESPEC extern void execute_738(char*, char *); +IKI_DLLESPEC extern void execute_739(char*, char *); +IKI_DLLESPEC extern void execute_1836(char*, char *); +IKI_DLLESPEC extern void execute_1837(char*, char *); +IKI_DLLESPEC extern void execute_1838(char*, char *); +IKI_DLLESPEC extern void execute_2094(char*, char *); +IKI_DLLESPEC extern void execute_941(char*, char *); +IKI_DLLESPEC extern void execute_2095(char*, char *); +IKI_DLLESPEC extern void execute_983(char*, char *); +IKI_DLLESPEC extern void execute_2116(char*, char *); +IKI_DLLESPEC extern void execute_2117(char*, char *); +IKI_DLLESPEC extern void execute_2118(char*, char *); +IKI_DLLESPEC extern void vlog_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); +IKI_DLLESPEC extern void transaction_34(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_35(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_36(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_37(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_38(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_39(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_40(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_41(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void vhdl_transfunc_eventcallback(char*, char*, unsigned, unsigned, unsigned, char *); +IKI_DLLESPEC extern void transaction_43(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_46(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_48(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_51(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_52(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_60(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_61(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_62(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_63(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_64(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_65(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_66(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_67(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_68(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_69(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_70(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_71(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_72(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_80(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_81(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_82(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_83(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_120(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_121(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_122(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_123(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_124(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_125(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_168(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_173(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_174(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_175(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_196(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_197(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_198(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_200(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_201(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_202(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_203(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_204(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_222(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_223(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_224(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_231(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_232(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_233(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_234(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_235(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_253(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_254(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_260(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_261(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_262(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_267(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_268(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_269(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_274(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_275(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_276(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_277(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_278(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_279(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_280(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_281(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_282(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_283(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_284(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_285(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_286(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_287(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_288(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_289(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_290(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_291(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_292(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_293(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_294(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_295(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_296(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_297(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_298(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_299(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_300(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_301(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_302(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_303(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_304(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_305(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_306(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_307(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_308(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_309(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_310(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_311(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_312(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_313(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_314(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_315(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_316(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_317(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_318(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_319(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_320(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_321(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_322(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_323(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_324(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_325(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_326(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_327(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_328(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_329(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_330(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_331(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_358(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_359(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_360(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_361(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_363(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_400(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_403(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_404(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_405(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_406(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_407(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_408(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_409(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_788(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_794(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_800(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_806(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_830(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_836(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_842(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_848(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_854(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_860(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_866(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_872(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_878(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_884(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_890(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_896(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_902(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_908(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_914(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_920(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_926(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_932(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_938(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_944(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1744(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1750(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1756(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1779(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1793(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1799(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1805(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1855(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1861(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1867(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1895(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1918(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1924(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1930(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1953(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_1976(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2003(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2008(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2013(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2018(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2023(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2028(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2143(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2149(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2155(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2161(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2167(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2173(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2179(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2185(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2203(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2452(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2458(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2464(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2470(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2476(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2482(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2488(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2494(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2529(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2562(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2583(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2588(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2593(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2598(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2603(char*, char*, unsigned, unsigned, unsigned); +IKI_DLLESPEC extern void transaction_2608(char*, char*, unsigned, unsigned, unsigned); +funcp funcTab[349] = {(funcp)execute_2, (funcp)execute_3, (funcp)execute_4, (funcp)execute_5, (funcp)execute_6, (funcp)execute_7, (funcp)execute_8, (funcp)execute_9, (funcp)execute_10, (funcp)execute_11, (funcp)execute_1260, (funcp)execute_1261, (funcp)execute_1262, (funcp)execute_1263, (funcp)vlog_const_rhs_process_execute_0_fast_for_reg, (funcp)execute_2341, (funcp)execute_2342, (funcp)execute_2344, (funcp)execute_2345, (funcp)execute_2346, (funcp)execute_2347, (funcp)execute_2348, (funcp)execute_2349, (funcp)execute_2350, (funcp)execute_2351, (funcp)execute_2352, (funcp)execute_2353, (funcp)execute_2354, (funcp)execute_2355, (funcp)execute_2356, (funcp)execute_2357, (funcp)execute_2358, (funcp)execute_2359, (funcp)execute_2360, (funcp)execute_2361, (funcp)execute_2362, (funcp)execute_2363, (funcp)execute_2364, (funcp)execute_2365, (funcp)execute_2366, (funcp)execute_2367, (funcp)execute_2368, (funcp)execute_2369, (funcp)execute_2370, (funcp)execute_2371, (funcp)execute_2372, (funcp)execute_2373, (funcp)execute_2374, (funcp)execute_2375, (funcp)execute_2376, (funcp)execute_2377, (funcp)execute_2378, (funcp)execute_2379, (funcp)execute_2380, (funcp)execute_2381, (funcp)execute_2382, (funcp)execute_2383, (funcp)execute_2384, (funcp)execute_2385, (funcp)execute_2386, (funcp)execute_2387, (funcp)execute_2388, (funcp)execute_2389, (funcp)execute_2390, (funcp)execute_2391, (funcp)execute_2392, (funcp)execute_2393, (funcp)execute_2394, (funcp)execute_2395, (funcp)execute_2396, (funcp)execute_2397, (funcp)execute_2398, (funcp)execute_2399, (funcp)execute_2400, (funcp)execute_2401, (funcp)execute_2402, (funcp)execute_2403, (funcp)execute_2404, (funcp)execute_2405, (funcp)execute_2406, (funcp)execute_28, (funcp)execute_1267, (funcp)execute_1268, (funcp)execute_1269, (funcp)execute_1270, (funcp)execute_1266, (funcp)execute_37, (funcp)execute_38, (funcp)vlog_simple_process_execute_0_fast_no_reg_no_agg, (funcp)execute_42, (funcp)execute_43, (funcp)execute_46, (funcp)execute_1284, (funcp)execute_1285, (funcp)execute_1283, (funcp)execute_49, (funcp)execute_1287, (funcp)execute_1288, (funcp)execute_1289, (funcp)execute_1290, (funcp)execute_1291, (funcp)execute_1292, (funcp)execute_1293, (funcp)execute_1294, (funcp)execute_1286, (funcp)execute_55, (funcp)execute_56, (funcp)execute_196, (funcp)execute_197, (funcp)execute_198, (funcp)execute_1445, (funcp)execute_1446, (funcp)execute_1447, (funcp)execute_1448, (funcp)execute_200, (funcp)execute_201, (funcp)execute_202, (funcp)execute_1449, (funcp)execute_1450, (funcp)execute_1451, (funcp)execute_1452, (funcp)execute_1461, (funcp)execute_1462, (funcp)execute_1463, (funcp)execute_1466, (funcp)execute_1467, (funcp)execute_1468, (funcp)execute_1469, (funcp)execute_737, (funcp)execute_738, (funcp)execute_739, (funcp)execute_1836, (funcp)execute_1837, (funcp)execute_1838, (funcp)execute_2094, (funcp)execute_941, (funcp)execute_2095, (funcp)execute_983, (funcp)execute_2116, (funcp)execute_2117, (funcp)execute_2118, (funcp)vlog_transfunc_eventcallback, (funcp)transaction_34, (funcp)transaction_35, (funcp)transaction_36, (funcp)transaction_37, (funcp)transaction_38, (funcp)transaction_39, (funcp)transaction_40, (funcp)transaction_41, (funcp)vhdl_transfunc_eventcallback, (funcp)transaction_43, (funcp)transaction_46, (funcp)transaction_48, (funcp)transaction_51, (funcp)transaction_52, (funcp)transaction_60, (funcp)transaction_61, (funcp)transaction_62, (funcp)transaction_63, (funcp)transaction_64, (funcp)transaction_65, (funcp)transaction_66, (funcp)transaction_67, (funcp)transaction_68, (funcp)transaction_69, (funcp)transaction_70, (funcp)transaction_71, (funcp)transaction_72, (funcp)transaction_80, (funcp)transaction_81, (funcp)transaction_82, (funcp)transaction_83, (funcp)transaction_120, (funcp)transaction_121, (funcp)transaction_122, (funcp)transaction_123, (funcp)transaction_124, (funcp)transaction_125, (funcp)transaction_168, (funcp)transaction_173, (funcp)transaction_174, (funcp)transaction_175, (funcp)transaction_196, (funcp)transaction_197, (funcp)transaction_198, (funcp)transaction_200, (funcp)transaction_201, (funcp)transaction_202, (funcp)transaction_203, (funcp)transaction_204, (funcp)transaction_222, (funcp)transaction_223, (funcp)transaction_224, (funcp)transaction_231, (funcp)transaction_232, (funcp)transaction_233, (funcp)transaction_234, (funcp)transaction_235, (funcp)transaction_253, (funcp)transaction_254, (funcp)transaction_260, (funcp)transaction_261, (funcp)transaction_262, (funcp)transaction_267, (funcp)transaction_268, (funcp)transaction_269, (funcp)transaction_274, (funcp)transaction_275, (funcp)transaction_276, (funcp)transaction_277, (funcp)transaction_278, (funcp)transaction_279, (funcp)transaction_280, (funcp)transaction_281, (funcp)transaction_282, (funcp)transaction_283, (funcp)transaction_284, (funcp)transaction_285, (funcp)transaction_286, (funcp)transaction_287, (funcp)transaction_288, (funcp)transaction_289, (funcp)transaction_290, (funcp)transaction_291, (funcp)transaction_292, (funcp)transaction_293, (funcp)transaction_294, (funcp)transaction_295, (funcp)transaction_296, (funcp)transaction_297, (funcp)transaction_298, (funcp)transaction_299, (funcp)transaction_300, (funcp)transaction_301, (funcp)transaction_302, (funcp)transaction_303, (funcp)transaction_304, (funcp)transaction_305, (funcp)transaction_306, (funcp)transaction_307, (funcp)transaction_308, (funcp)transaction_309, (funcp)transaction_310, (funcp)transaction_311, (funcp)transaction_312, (funcp)transaction_313, (funcp)transaction_314, (funcp)transaction_315, (funcp)transaction_316, (funcp)transaction_317, (funcp)transaction_318, (funcp)transaction_319, (funcp)transaction_320, (funcp)transaction_321, (funcp)transaction_322, (funcp)transaction_323, (funcp)transaction_324, (funcp)transaction_325, (funcp)transaction_326, (funcp)transaction_327, (funcp)transaction_328, (funcp)transaction_329, (funcp)transaction_330, (funcp)transaction_331, (funcp)transaction_358, (funcp)transaction_359, (funcp)transaction_360, (funcp)transaction_361, (funcp)transaction_363, (funcp)transaction_400, (funcp)transaction_403, (funcp)transaction_404, (funcp)transaction_405, (funcp)transaction_406, (funcp)transaction_407, (funcp)transaction_408, (funcp)transaction_409, (funcp)transaction_788, (funcp)transaction_794, (funcp)transaction_800, (funcp)transaction_806, (funcp)transaction_830, (funcp)transaction_836, (funcp)transaction_842, (funcp)transaction_848, (funcp)transaction_854, (funcp)transaction_860, (funcp)transaction_866, (funcp)transaction_872, (funcp)transaction_878, (funcp)transaction_884, (funcp)transaction_890, (funcp)transaction_896, (funcp)transaction_902, (funcp)transaction_908, (funcp)transaction_914, (funcp)transaction_920, (funcp)transaction_926, (funcp)transaction_932, (funcp)transaction_938, (funcp)transaction_944, (funcp)transaction_1744, (funcp)transaction_1750, (funcp)transaction_1756, (funcp)transaction_1779, (funcp)transaction_1793, (funcp)transaction_1799, (funcp)transaction_1805, (funcp)transaction_1855, (funcp)transaction_1861, (funcp)transaction_1867, (funcp)transaction_1895, (funcp)transaction_1918, (funcp)transaction_1924, (funcp)transaction_1930, (funcp)transaction_1953, (funcp)transaction_1976, (funcp)transaction_2003, (funcp)transaction_2008, (funcp)transaction_2013, (funcp)transaction_2018, (funcp)transaction_2023, (funcp)transaction_2028, (funcp)transaction_2143, (funcp)transaction_2149, (funcp)transaction_2155, (funcp)transaction_2161, (funcp)transaction_2167, (funcp)transaction_2173, (funcp)transaction_2179, (funcp)transaction_2185, (funcp)transaction_2203, (funcp)transaction_2452, (funcp)transaction_2458, (funcp)transaction_2464, (funcp)transaction_2470, (funcp)transaction_2476, (funcp)transaction_2482, (funcp)transaction_2488, (funcp)transaction_2494, (funcp)transaction_2529, (funcp)transaction_2562, (funcp)transaction_2583, (funcp)transaction_2588, (funcp)transaction_2593, (funcp)transaction_2598, (funcp)transaction_2603, (funcp)transaction_2608}; +const int NumRelocateId= 349; + +void relocate(char *dp) +{ + iki_relocate(dp, "xsim.dir/project_tb_func_synth/xsim.reloc", (void **)funcTab, 349); + iki_vhdl_file_variable_register(dp + 1118456); + iki_vhdl_file_variable_register(dp + 1118512); + + + /*Populate the transaction function pointer field in the whole net structure */ +} + +void sensitize(char *dp) +{ + iki_sensitize(dp, "xsim.dir/project_tb_func_synth/xsim.reloc"); +} + + // Initialize Verilog nets in mixed simulation, for the cases when the value at time 0 should be propagated from the mixed language Vhdl net + +void wrapper_func_0(char *dp) + +{ + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1123864, dp + 1666144, 0, 0, 0, 0, 1, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1123920, dp + 1666536, 0, 0, 0, 0, 1, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1123976, dp + 1666648, 0, 0, 0, 0, 1, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1124208, dp + 1666760, 0, 5, 0, 5, 6, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1124128, dp + 1666872, 0, 1, 0, 1, 2, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1124168, dp + 1666424, 0, 1, 0, 1, 2, 1); + + iki_vlog_schedule_transaction_signal_fast_vhdl_value_time_0(dp + 1124488, dp + 1666312, 0, 7, 0, 7, 8, 1); + +} + +void simulate(char *dp) +{ + iki_schedule_processes_at_time_zero(dp, "xsim.dir/project_tb_func_synth/xsim.reloc"); + wrapper_func_0(dp); + + iki_execute_processes(); + + // Schedule resolution functions for the multiply driven Verilog nets that have strength + // Schedule transaction functions for the singly driven Verilog nets that have strength + +} +#include "iki_bridge.h" +void relocate(char *); + +void sensitize(char *); + +void simulate(char *); + +extern SYSTEMCLIB_IMP_DLLSPEC void local_register_implicit_channel(int, char*); +extern SYSTEMCLIB_IMP_DLLSPEC int xsim_argc_copy ; +extern SYSTEMCLIB_IMP_DLLSPEC char** xsim_argv_copy ; + +int main(int argc, char **argv) +{ + iki_heap_initialize("ms", "isimmm", 0, 2147483648) ; + iki_set_xsimdir_location_if_remapped(argc, argv) ; + iki_set_sv_type_file_path_name("xsim.dir/project_tb_func_synth/xsim.svtype"); + iki_set_crvs_dump_file_path_name("xsim.dir/project_tb_func_synth/xsim.crvsdump"); + void* design_handle = iki_create_design("xsim.dir/project_tb_func_synth/xsim.mem", (void *)relocate, (void *)sensitize, (void *)simulate, (void*)0, 0, isimBridge_getWdbWriter(), 0, argc, argv); + iki_set_rc_trial_count(100); + (void) design_handle; + return iki_simulate_design(); +} diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/obj/xsim_1.lnx64.o b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/obj/xsim_1.lnx64.o new file mode 100644 index 0000000000000000000000000000000000000000..f0103bf49279109d4f53377ebc0ecbc9f4de2519 GIT binary patch literal 29440 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 Qsr`Hq|K6}+Fn8PkHx?02&Hw-a literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.dbg b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.dbg new file mode 100644 index 0000000000000000000000000000000000000000..9f4c18c7e69893b304929e82b16634b28a234752 GIT binary patch literal 58840 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 W;`gHR^B2G8yG!w|GQ7JL@BaWtt9(oV literal 0 HcmV?d00001 diff --git a/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.mem b/progetto_reti_logiche.sim/sim_1/synth/func/xsim/xsim.dir/project_tb_func_synth/xsim.mem new file mode 100644 index 0000000000000000000000000000000000000000..e8fab5a266ed5cc4cb1fb00203993ce091835256 GIT binary patch literal 73202 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 z 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